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

发布于 2024-12-02 23:40:31 字数 575 浏览 0 评论 0原文

我再次需要您的帮助来解决一个对于初学者 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

囚你心 2024-12-09 23:40:31

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

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

换句话说:对于 < 的所有索引code>A 的值为 -3,则在相应索引处分配 B 的值。

It's actually quite simple to do this without a for loop: if your data frames are A and B, then the command would be

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

In other words: for all the indices of A that have value -3, assign the values of B at the corresponding indices.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文