更新等效的地方

问题描述 投票:0回答:1

我目前正在尝试更新任何行的“e”列

for(col in colnames(df))
{
  df$e[is.na(df[col])] <- paste(col, "empty - excluded:", " ")
}

这有效。但是,我如何将新文本附加到单元格中的当前值?

我习惯了SQL:

UPDATE df SET e = e & " excluded" WHERE NZ(col, '') = ''
r dataframe
1个回答
1
投票

也许这样(未经测试)

df[,"e"] <- ""
for (col in colnames(df)) {
    idx <- which(is.na(df[,col])
    df[idx, "e"] <- paste(df[idx, "e"], col, sep=", ")
}
df[,"e"] <- ifelse(df[,"e"]!="", paste(df[,"e"], "empty - excluded")

这将首先收集NA列,然后添加字符串“empty - excluded”。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.