gpt4 book ai didi

R如何有条件地更新数据框中的数值

转载 作者:行者123 更新时间:2023-12-04 10:31:51 24 4
gpt4 key购买 nike

我正在尝试更新数据框中的数值,当它由于输入错误而高于特定值时为数值。该值应该以百为单位,但有时以千为单位,因为它有一个额外的零。数据框称为 df,列称为 Value1

Value1 (sample values)
650
6640
550

7650 的值应该是 765。我正在尝试使用以下内容:

df$Value1[df$Value1>1000] <- df$Value1/10

这会产生非常奇怪的结果。我最终没有得到大于 1000 的值,但是 6640 的值变成了 74.1 而不是我预期的 664。

有什么建议吗?

提前致谢

最佳答案

下面是如何在一行中执行此操作,而无需计算目标行索引两次:

df$Value1[ris <- which(df$Value1>1000)] <- df$Value1[ris]/10;
df;
## Value1
## 1 650
## 2 664
## 3 550

数据

df <- data.frame(Value1=c(650L,6640L,550L));

关于R如何有条件地更新数据框中的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38515285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com