【发布时间】:2019-05-17 18:58:54
【问题描述】:
我得到替换在 for 循环结束时长度为零的问题。好的,我知道这个错误表示 NULL 或长度为 0 的向量。我尝试了一些解决方案,但没有一个有效。如何摆脱 na/0 结果并继续循环?
for(i in 1:nrow(df)){
df[i,3] <- ... #that doesn't matter
if(length(df[i,3] == 0)){
df[i,3] <- "Not found"
}
}
Error in x[[jj]][iseq] <- vjj : replacement has length zero
或
for(i in 1:nrow(df)){
df[i,3] <- ... #that doesn't matter
if(is.na(df[i,3] == TRUE){
df[i,3] <- "Not found"
}
}
Error in x[[jj]][iseq] <- vjj : replacement has length zero
提前致谢。
编辑:示例:
column1 column2 column3
a www.example.com/a 100
b www.example.com/b 150
c www.example.com/c NA
d www.example.com/d NA
等等...我的目标是跳过它找不到的链接(c)并保持循环运行。
【问题讨论】:
-
尝试使用
sum而不是length。在您的逻辑表达式中,length没有返回逻辑向量length(1 == 1)我认为您只需要if(df[i, 3] == 0)在第二个代码块中,if(is.na(df[i,3])) -
也许你想要
if ( length(df[i, 3]) == 0 ) { -
谢谢,但它不起作用。
-
"谢谢,但它不起作用。"当我使用该代码时,它____,这是我得到的错误,或者这就是它与我预期的不同之处。
标签: r