如何创建由多个变量排序的单个长变量

时间:2015-04-17 16:57:54

标签: r

所以基本上我的数据设置为:

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和一些长/短变换。这是其中一个问题似乎应该很简单但我不断得到矩阵。

2 个答案:

答案 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