我在R中有以下数组:
1 2 3 4 5 6 7 8 9 10 11 12
A 0 0.7 0.9 0.8 0 0 0 0 0 0.1 0 0.1
B 0.1 0.1 0 0.2 0 0.2 0.1 0 0 0.2 0 0.4
C 0 0.4 0.1 0.3 0 0 0.4 0 0 0.3 0 0
我想使用R代码将此数组放入一列。但我希望它从奇数列开始,逐行,然后返回并逐行进行偶数列。所以在这种情况下,将按顺序排列:
0,0.9,0,0,0,0,(行A,列1,3,5,7,9,11),然后在一个大列中依次为0.7,0.8等。
答案 0 :(得分:0)
如果数组是矩阵m
,那么......
t(m)[c(seq(1,length(m),2),
seq(2,length(m),2))]
[1] 0.0 0.9 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.1 0.0 0.0 0.0 0.1
[15] 0.0 0.4 0.0 0.0 0.7 0.8 0.0 0.0 0.1 0.1 0.1 0.2 0.2 0.0
[29] 0.2 0.4 0.4 0.3 0.0 0.0 0.3 0.0
只有拥有偶数列才能使用上述功能。在更一般的情况下,这可能更好......
c(t(m[,c(TRUE,FALSE)]),t(m[,c(FALSE,TRUE)]))