我有两个矩阵,我从中减去如下值:
x=read.table("x.txt", sep= "\t", header=FALSE)
9 3 8 2 0
5 4 5 2 1
y=read.table("y.txt", sep= "\t", header=FALSE)
9 7 4 0 5
3 1 0 0 1
xy<-x-y
0 -4 4 2 -5
2 3 5 2 0
我想替换 xy 的值,如果 x>0 且 y==0 中的值,则 xy 中的值由“D”替换,如果 x==0 且 y>0,则由“D”替换”。给我一张这样的桌子:
0 -4 4 D A
2 3 D D 0
我尝试了不同的东西,例如循环:
out <- array(dim=dim(xy))
for (i in 1:length(xy)) {
out[i] <- ifelse(x[i]==0, "D",
ifelse(y[i]==0, "A", xy[i]))
}
但是有些东西不起作用,我将其归因于对 [i] 值的位置缺乏理解。
我也尝试过使用应用,但是尽管通过互联网进行了搜索,但完全无法理解它如何(如果可以)应用于两个数据帧。任何帮助深表感谢。