gpt4 book ai didi

r - 如何根据特定条件交换 R 中的两列?

转载 作者:行者123 更新时间:2023-12-05 08:39:51 25 4
gpt4 key购买 nike

我有两列,比如 a 和 b,如果 b 列中的值大于 a 列中的值,我必须交换 a 和 b 的值。

我写了一个函数来在满足条件时交换变量

a     b
110 70
120 80
80 110

swap_if<- function (a, b,missing=NA) 
{
if(b>a)
{
a = a + b
b = a - b
a = a - b
}
}


swap_if(a,b)



输出应该是:

a     b
110 70
120 80
110 80

但是我得到一个错误

the condition has length > 1 and only the first element will be used

最佳答案

如果只有 2 列,pminpmax 是你的 friend 。

temp_min = pmin(df$a, df$b)
df$a = pmax(df$a, df$b)
df$b = temp_min

如果超过 2 列,则应用排序的缩放比例更好。

关于r - 如何根据特定条件交换 R 中的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808294/

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