【发布时间】:2014-08-28 18:19:10
【问题描述】:
我想知道是否有更好的方法来做到这一点,或者我是否会遇到一些无法预料的麻烦。我需要从数据框中进行子集化,但我不想使用列名。我需要通过引用列号来做到这一点。
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]))), ]
【问题讨论】: