如何在R中使用for循环处理数据帧? 第1部分-------------------------------------------------------------- 数据5
如果您真的想使用循环如何在R中使用for循环处理数据帧? 第1部分-------------------------------------------------------------- 数据5,r,dataframe,R,Dataframe,如果您真的想使用循环 ### Part2 -------------------------------------------------------------- data5 <- data.frame(late_AMD_1st=c(1, NA, 3, 4), RVO_1st=c(5, 6, NA, 8)) col_name <- c("late_AMD_1st", "RVO_1st") for (i in col_name){ data5 <- subset(dat
### Part2 --------------------------------------------------------------
data5 <- data.frame(late_AMD_1st=c(1, NA, 3, 4), RVO_1st=c(5, 6, NA, 8))
col_name <- c("late_AMD_1st", "RVO_1st")
for (i in col_name){
data5 <- subset(data5, !(is.na(data5$i)))
}
# data5
# [1] late_AMD_1st RVO_1st
# <0 行> (または長さ 0 の row.names)
除了方法
na.omit(data5)
by之外,您还可以使用以下代码,这适用于具有更多列的数据帧
na.omit(data5)
使用
na.omit(data5)
也可以不使用循环来完成此操作。非常感谢。实际上,我只想删除特定列中带有NA
s的行。所以我宁愿使用data5[,I]
。
data5 <- data.frame(late_AMD_1st=c(1, NA, 3, 4), RVO_1st=c(5, 6, NA, 8))
col_name <- c("late_AMD_1st", "RVO_1st")
for (i in col_name){
data5 <- subset(data5, !(is.na(data5[, i])))
}
data5
#late_AMD_1st RVO_1st
#1 1 5
#4 4 8
na.omit(data5)
res <- subset(data5,complete.cases(data5))
res <- subset(data5,Reduce(`&`,data.frame(!is.na(data5))))
> res
late_AMD_1st RVO_1st
1 1 5
4 4 8