Как вывести данные разной длины - PullRequest
0 голосов
/ 26 марта 2011

R Версия 2.11.1 32-разрядная на Windows 7

Мне интересно, сталкивался ли кто-нибудь еще с этим вопросом.У меня есть несколько массивов разной длины, и я хочу собрать их вместе для вывода.Например:

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 ]

1 голос
/ 26 марта 2011

Преобразовать список в матрицу строк.

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")
0 голосов
/ 26 марта 2011
> 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
0 голосов
/ 26 марта 2011

Звучит так, как вы хотите list.

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

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

[[3]]
[1] 2 3 5 1 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...