如何比较r中矩阵的两列并在新向量中输出列名
我有一个2列1000行的矩阵如何比较r中矩阵的两列并在新向量中输出列名,r,matrix,vector,R,Matrix,Vector,我有一个2列1000行的矩阵 first second 1 0.96 1.34 2 0.67 1.22 3 1 0.87 .. 1000 12 11 我想比较矩阵每一行的两列,并用“first”或“second”值输出新向量中的值 我的输出应该是 second second first .... first 我想在R做这个 到目前为止,我在R if(data[2] > da
first second
1 0.96 1.34
2 0.67 1.22
3 1 0.87
..
1000 12 11
我想比较矩阵每一行的两列,并用“first”或“second”值输出新向量中的值
我的输出应该是
second second first .... first
我想在R做这个
到目前为止,我在R
if(data[2] > data[1]) "second" else "first"
这将返回一个只有1个值的向量。请帮助您需要if/else的矢量化版本。矩阵版本:
ifelse(data[,2] > data[,1], "second", "first")
类似于梅丽莎的回答。这不太清楚,但比ifelse更有效
colnames(data)[(data[, 2] > data[, 1]) + 1L]
比较将输出
TRUE
或FALSE
(相当于1
或0
)。当我们加1时,它变成2或1。我们可以用它来索引列名。length(ifelse(data[[2]]>data[[1]],“second”,“first”)返回1。有什么语法需要我修改吗?谢谢你的帮助,Gregor!固定的!谢谢@Gregor和Melissa投票支持