根据数据帧中不同列的不同,使用值填充列

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (17)

我有两个列,a和b(列的长度约为85,000)。b为空,a由各种值填充。如果值在列表c中,则b需要填充“Yes”。如果值在列表d中,则b需要填充“no”。如果它们都不在列表中,则b可以被填充。左空白或填充NA(真的不重要)。

for (i in 1:length(a)){
    if(is.element(df$a[i],c) == TRUE){
      df$b[i] <- "Yes"
    }
    else if (is.element(df$a[i],d) == TRUE){
      df$b[i] <- "No"
    }
    else{
      df$b[i] <- NA
    }
  }
提问于
用户回答回答于

如果你创建两个独立的向量,一个是a在c中,一个在a在d中。

in.c <- which(df$a %in% df$c)
in.d <- which(df$a %in% df$d)

然后你可以更新b根据这些向量

df$b[in.c] <- 'Yes'
df$b[in.d] <- 'No'

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问11 回答
  • 四无君

    0 粉丝0 提问3 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    46 粉丝0 提问2 回答
  • 拉布拉多拉不多

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券