我有一对16列的数据集。一个具有物种名称,第二个具有百分比覆盖(因此8列具有物种名称,8列具有百分比覆盖的整数)。我希望物种名称为NA的行在相同行的相邻封面百分比列中为0。我怎么能写一个这样做的循环?
请注意,我无法堆叠它们必须保留在此结构中的矢量以供以后分析
我曾尝试从在线资源中复制大量循环以及SE上的无数例子,但我似乎无法做到正确。我已经为初学者尝试了这段代码
for(i in 1:nrow(x)){
if (x$species_1[i]==NA) {x$cover_1[i] <- 0}
else {NULL}
}
但它抛出了这个
Error in if (x$species_1[i] == NA) { : missing value where TRUE/FALSE needed
我读到的内容涉及向量中有NA的事实......所以你看到我的难题......
最后,我希望所有物种的NA在相邻列中具有相应的0,用于百分比覆盖
试试这个:
x[is.na(x$species_1), "cover_1"] <- 0
更改
if (x$species_1[i]==NA)
至
if ( is.na(x$species_1[i]) )