如何将存储在少数列中的值排列为仅存储在一列中

时间:2016-07-28 12:41:48

标签: r list

我有一个包含少量列的列表,我想将其转换为一列,其中列的每个值仅存储在一列中,每个列都在另一列之下。我怎么能这样做? 例如:

test1 <- list( c(a='a',b='b',c='c'), c(a='Moshe',b='Yossi',c='Ram'))
 test1
[[1]]
  a   b   c 
"a" "b" "c" 

[[2]]
      a       b       c 
"Moshe" "Yossi"   "Ram" 

我需要的输出(作为列表或数据框):

a
Moshe
Yossi
Ram

2 个答案:

答案 0 :(得分:1)

如何使用reshape2::melt

df <- reshape2::melt(test1[[2]])
colnames(df) <- "a"
df

答案 1 :(得分:-3)

使用粘贴功能

paste(test1[[1]][1],test1[[2]],collapse="")
[1] "a Moshea Yossia Ram"

这是你说的输出

test1 <- data.frame(c(a='Moshe',b='Yossi',c='Ram'), stringsAsFactors = F)

names(test1) <- "a"

print(test1)

      a
a Moshe
b Yossi
c   Ram

或者更有问题

setNames(data.frame(test1[[2]]), test1[[1]][1])