r - 循环遍历数组并将值分配给向量,给出 NULL 不正确的值
问题描述
我有一个名为“states”的向量,所有州都有 2 个字母缩写,还有一个 temp1 数据框,有 3 列“Hospital.Name”、“heart attack”和“State”
temp1 Hospital.Name heart attack State
99 PROVIDENCE ALASKA MEDICAL CENTER 13.4 AK
103 ALASKA REGIONAL HOSPITAL 14.5 AK
102 FAIRBANKS MEMORIAL HOSPITAL 15.5 AK
temp1 表为每个州提供更多医院
states
[1] "AK" "AL" "AR" "AZ" "CA" "CO" "CT" "DC" "DE" "FL" "GA" "GU" "HI" "IA" "ID" "IL" "IN" "KS" "KY" "LA" "MA" "MD" "ME" "MI" "MN" "MO" "MS"
[28] "MT" "NC" "ND" "NE" "NH" "NJ" "NM" "NV" "NY" "OH" "OK" "OR" "PA" "PR" "RI" "SC" "SD" "TN" "TX" "UT" "VA" "VI" "VT" "WA" "WI" "WV" "WY
当我使用“状态”数组的第一个值自行运行此代码时,我得到了正确的结果
resulttest <- subset(temp1[1,], State ==states[1])
resulttest
Hospital.Name heart attack State
99 PROVIDENCE ALASKA MEDICAL CENTER 13.4 AK
但是当我尝试在“状态”向量中的所有状态的循环上运行它时,我得到一个 NULL 值
for (i in 1:length(states)){
resulttest <- subset(temp1[1,], State ==states[i])
}
# > resulttest
#
# [1] Hospital.Name heart attack State
# <0 rows> (or 0-length row.names)
有人可以帮我使用循环功能吗?,谢谢
解决方案
这就是我在评论的帮助下最终做的事情,它还将结果附加到一个名为“result”的新数据框中,num 是一个变量。谢谢您的帮助 :)
是一个变量
result <- data.frame(matrix(ncol = 3, nrow = 0))
x <- c("Hospital.Name", "heart attack", "State")
colnames(result) <- x
for (i in 1:length(states)){
resulttest <- temp1[temp1$State %in% states[i],]
result[i,] <-resulttest1[num,]
}
推荐阅读
- ios - React Native Firebase 动态链接 iOS
- php - “ReceivePaymentToDepositQuery”中的 Quickbooks 桌面 php 库问题
- javascript - 无法访问 firebase orderByChild 查询结果中的值
- docker - 如何在 Ubuntu 中增加 docker 磁盘映像大小
- php - 用 PHP 删除或替换 CSV 文件的最后一行
- java - Heroku Postgres + Spring Boot 配置 org.postgresql.util.PSQLException:结果集已关闭
- r - 如果列以列表中的一个字符串开头,则 dplyr 过滤
- sparql - 是否可以将图形查询(Gremlin 或 SPARQL)的输出可视化为 Amazon Neptune 中的节点和边?
- javascript - 如何在js中预览这个pdf
- c# - 使用 Angular 下载 .xls 文件:JSON.parse 中位置 0 处的 JSON 中的意外令牌 P(
)