【发布时间】:2012-08-14 00:29:27
【问题描述】:
我正在寻找一种方便的方法来将同一变量的正值(比例)转换为负值,具体取决于另一个变量的值。
这是数据结构的样子:
id Item Var1 Freq
1 P1 0 0.043
2 P2 1 0.078
3 P3 2 0.454
4 P4 3 0.543
5 T1 0 0.001
6 T2 1 0
7 T3 2 0.045
8 T4 3 0.321
9 A1 0 0.671
...
更准确地说,如果 Var1
这是我尝试过的:
for(i in 1: 180) {
if (mydata$Var1 <= "1") (mydata$Freq*(-1))}
或
mydata$Freq[mydata$Var1 <= "1"] = -abs(mydata$Freq)}
在这两种情况下,负号的设置都是正确的,但数字也会改变。
非常感谢任何帮助。谢谢!
【问题讨论】:
-
我的猜测是问题是由于您在 1 周围使用了引号。如果您要进行数字比较,为什么要将 1 变成字符串?
-
你还需要对两边进行子集化,mydata$Freq[mydata$Var1 ifelse 如下
标签: r variables data-management