我需要通过引用列号来做到这一点 .
data <- data.frame(col1= c(50, 20, NA, 100, 50),
col2= c(NA, 25, 125, 50, NA),
col3= c(NA, 100, 15, 55, 25),
col4= c(NA, 30, 125, 100, NA),
col5= c(80, 25, 75, 40, NA))
假设我想要对数据帧进行子集化,并且只保留在第5列中有效数字之前包含3个连续NA的行 . 最好我可以在不使用列名的情况下提出这个:
sub <- data[(which(is.na(data[2]) &
is.na(data[3]) &
is.na(data[4]) &
!is.na(data[5]))), ]
有人看到任何问题或知道更好的方法吗?我担心在子集中使用子集虽然每件事看起来都应该正常工作 .
1 回答
如果您希望稍微压缩一下代码,可以执行以下操作: