影响R数据帧中的值而不检查索引是否为空

时间:2018-03-27 05:57:02

标签: r dataframe

 df = data.frame(A=c(1,1),B=c(2,2))
 df$C = NA
 df[is.na(df$B),]$C=5

每当我想影响一个新值并且发现像这里is.na(df$B)那样空的索引时,R raise引发错误replacement has 1 row, data has 0。 有没有一种方法R在这种情况下不会影响任何事情,而不是引发错误?

1 个答案:

答案 0 :(得分:2)

我们可以在一行中执行此操作,而不是将“C”分配给NA,然后对data.frame进行子集化。以下代码会将5分配给“C”,其中“B”中有NA个元素,否则它将为NA

df$C[is.na(df$B)] <- 5