根据另一个数据帧更改数据帧的值

时间:2011-09-05 08:00:01

标签: r dataframe

我再次需要你的帮助,以便为一个初学者R用户提供一个不太清楚的简单问题。

我需要操纵数据框,用“真实”值替换NA值,以便为另一个应用程序提供信息。

数据框包含-3.0的值,它是原始数据库中无效值的标志。我需要的是用来自另一个数据帧的数据替换所有-3.0值,或者插入。

第一个数据框是

1.0  2.0  3.0  4.0
2.0  3.0 -3.0 -3.0
1.0  4.0 -3.0  6.0
1.0  5.0  4.0  5.0

第二个是

1.0  1.0  1.0  1.0
2.0  2.0  9.0  9.0
2.0  2.0  9.0  2.0
1.0  1.0  1.0  1.0

和预期结果

1.0  2.0  3.0  4.0
2.0  3.0  9.0  9.0
1.0  4.0  9.0  6.0
1.0  5.0  4.0  5.0

我想这可以通过for循环完成,但我还没有找到方法。

提前致谢

1 个答案:

答案 0 :(得分:5)

在没有for循环的情况下执行此操作实际上非常简单:如果您的数据框是AB,那么命令将是

A[A == -3] = B[A == -3]

换句话说:对于值为-3的A的所有索引,在相应的索引处指定B的值。