我正在尝试使用此代码的矢量化替代方案:
x=read.table("1.txt")
for(i in 1:nrowx)
{
if(x[i,1]>x[i,2])
{
temp=x[i,1]
x[i,1]=x[i,2]
x[i,2]=temp
x[i,3]=(x[i,3]*(-1))
}
}
我尝试使用转换功能:
x <- transform(x,
x[[1]] <- ifelse(x[[1]]>x[[2]], x[[2]], x[[1]]),
x[[2]] <- ifelse(x[[1]]>x[[2]], x[[1]], x[[2]]),
x[[3]] <- ifelse(x[[1]]>x[[2]], -x[[3]], x[[3]]))
但是没有成功。返回原始文件,不执行任何操作。
在 x 中读取的文件的几行:
"X1" "X2" "X3"
"1" 10 4 1440
"2" 10 4 3765
"3" 10 22 523
"4" 10 295 730
"5" 10 295 1599
"6" 10 584 1872
"7" 10 403 1872
"8" 10 403 1872
"9" 10 281 554
"10" 10 123 554
请帮忙。谢谢!