我试图根据不同列中的数据替换列的值,但它不起作用。这是一些示例数据。
df <- data.frame(Col1 = 1:10,
Col2 = c("a", "a", "a", "b", "b", "c", "c", "d", "d", "d"),
Col3 = c("11%", "12%", "13%", "14%", "15%", "16%", "17%", "18%", "19%", "20%"))
如果 Col2 的值为 b,我需要将 Col3 的值更改为 NA 或 0(NA 更准确,但对于我正在做的事情,0 也可以)。第 3 列是百分比,我知道我在这里使用了字符串。
我尝试了几种方法,最近的就是我在下面列出的循环。不过,我愿意接受任何解决方案。我的循环不工作是因为我没有定义模式吗?
for(i in df){
if(df$Col2 == "b"){
str_replace(df$Col3, replacement = NA)
}
}
print(df)