如何输出不同长度的数据

时间:2011-03-26 05:32:57

标签: r statistics

R版本2.11.1 Windows 7上的32位

我想知道是否有其他人遇到过这个问题。我有几个不同长度的数组,我想把它们放在一起输出。例如:

a=c(1,2,3);
b=c(2,4,1,6)
c=c(4,5,9,2,8)
ra=rank(a);#ra=1 2 3
rb=rank(b);#rb=2 3 1 4
rc=rank(c);#rc=2 3 5 1 4

然后如何把ra,rb和rc放在一起成为:

1 2 3

2 3 1 4

2 3 5 1 4

是的,list()可能会有所帮助,但我怎么能将它保存到我的电脑上。 我尝试使用write.table(),但失败了。

3 个答案:

答案 0 :(得分:1)

将列表转换为字符串矩阵。

a=c(1,2,3);
b=c(2,4,1,6)
c=c(4,5,9,2,8)

rlist <- lapply(list(a,b,c), rank)
m <- do.call(rbind, lapply(rlist, 
                           function(x) paste(x,collapse=" ")
                           )
             )
write.table(m,file="file_name")

答案 1 :(得分:0)

听起来像是想要list

> list(ra, rb, rc)
[[1]]
[1] 1 2 3

[[2]]
[1] 2 3 1 4

[[3]]
[1] 2 3 5 1 4

答案 2 :(得分:0)

> rlist <- lapply( list(a,b,c), rank)
> rlist
[[1]]
[1] 1 2 3

[[2]]
[1] 2 3 1 4

[[3]]
[1] 2 3 5 1 4