所以基本上我的数据设置为:
A = C(1,2,3); B = C(4,5,6); 等等 Z = C(77,78,79); X = cbind(A,B,...,Z)
我想从这些列a到z创建一个列,所以一些变量alpha = c(1,2,3,4,5,6,...,78)。也就是说,拥有a的所有值,然后是b的所有值,然后列出c的所有值,一直到z。有没有办法在R中快速完成这项工作?
我已经尝试过rbind,cbind和一些长/短变换。这是其中一个问题似乎应该很简单但我不断得到矩阵。
答案 0 :(得分:2)
dat <- data.frame(matrix(1:78, nrow = 3))
colnames(dat) <- letters
dat
a b c d e f g h i j k l m n o p q r s t u v w x y z
1 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76
2 2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 65 68 71 74 77
3 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78
alpha <- unlist(dat)
alpha
a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3 h1 h2 h3 i1 i2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
i3 j1 j2 j3 k1 k2 k3 l1 l2 l3 m1 m2 m3 n1 n2 n3 o1 o2 o3 p1 p2 p3 q1 q2 q3 r1
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
r2 r3 s1 s2 s3 t1 t2 t3 u1 u2 u3 v1 v2 v3 w1 w2 w3 x1 x2 x3 y1 y2 y3 z1 z2 z3
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
答案 1 :(得分:1)
c()命令也可以。例如:
x <-1:5
y <-6:10
z <-11:15
data <-c(x,y,z)
data
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15