如何在R中的变量中替换另一个值?

时间:2013-04-19 14:16:43

标签: r

mydata:

ID color price
1   red   120
2   red   NA 
3   blue  80 
4   green 97 
5   black 100

我需要在颜色变量中将“black”替换为“red”,并且 用平均价格替换NA

我尝试过以下代码 mydata $ color [(mydata $ color ==“black”)]< - “red”#但我得到NULL

对于第二期,我用过 mydata $ price [其中(is.na(mydata $ price))]< - 均值(mydata $ price)#但它不会改变任何东西!

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用此方法获得所需内容:

df = within(df, {
   variable[variable == "string"] = "string2"
   variable[is.na(variable)] = mean(variable)
 })

这里的技巧是您可以使用[]创建子集,并使用[] =再次为该子集分配值。