gpt4 book ai didi

R Dplyr 通过从具有条件替换值的其他列中计算来改变新列

转载 作者:行者123 更新时间:2023-12-05 00:51:02 26 4
gpt4 key购买 nike

给定以下数据:

df <- data.frame(x1 = c(1,2,3,4,5),
x2 = c(5,4,3,2,1))

我想改变一个新列 (x3),它是 x1 和 x2 列的总和。但是,我想在计算之前有条件地替换这些值:

1 = 0    
2 = 1
3 = 2
4 = 3
5 = 3

这将导致以下变异列:

x3 
3
4
4
4
3

到目前为止,我的解决方案涉及在对这些替换值求和之前对包含替换值的新 x1 和 x2 列进行变异,然后删除变异的 x1 和 x2,但这似乎非常低效。

最佳答案

base R中,我们可以将数据减1,用pmin将大于3的值限制为3,得到rowSums

df$x3 <- rowSums(pmin(as.matrix(df-1), 3))

-输出

> df
x1 x2 x3
1 1 5 3
2 2 4 4
3 3 3 4
4 4 2 4
5 5 1 3

关于R Dplyr 通过从具有条件替换值的其他列中计算来改变新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72903788/

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