根据另一个数据帧更改数据帧的值
我再次需要您的帮助来解决一个对于初学者 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 循环来完成,但我还没有找到实现它的方法。
提前致谢
Again I need your help for a maybe easy question that is not clear for a starter R user.
I need to manipulate a dataframe to substitute NA
values by "realistic" ones to feed another application.
The data frame contains values of -3.0 that was the flag for non valid values in the original data base. What I need is to replace all the -3.0 values by data coming from another data frame, or maybe to interpolate.
The first data frame would be
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
the second one would be
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
and the expected result
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
I suppose this can be done with a for loop but I haven't found the way to do it.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际上,在没有 for 循环的情况下执行此操作非常简单:如果您的数据帧是
A
和B
,那么命令将是换句话说:对于 < 的所有索引code>A 的值为 -3,则在相应索引处分配
B
的值。It's actually quite simple to do this without a for loop: if your data frames are
A
andB
, then the command would beIn other words: for all the indices of
A
that have value -3, assign the values ofB
at the corresponding indices.