【发布时间】:2018-06-29 19:01:59
【问题描述】:
我正在尝试编写一个从数据框中删除某些行的函数。 为简单起见,我们假设移除的条件是该行中至少有一个 NA。
df = data.frame(c("A","B","C"),c(1,NA,3))
fn = function (d) {
for (x in 1:nrow(d)) { for (y in 1:ncol(d)) {
if(is.na(d[x,y])) d = d[-x,]
}}}
fn(df)
PS:我知道有更好的方法来删除至少有一个 NA 的行,即 df = df[-which(!complete.cases(df)] 但我很想知道为什么我写的代码确实如此不工作。
【问题讨论】:
标签: r function for-loop if-statement na