2016-07-28 78 views
-2

我有一个列,列数很少,我想将其转换为一列,其中列的每个值只存储在一列中,每个都低于其他。我该怎么做? 例如:如何排列存储在少数列中的值,以便只存储在一列下

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 
+1

你只需要单输出(摩西·贝纳拉姆) –

+1

也许你想'lapply(TEST1,堆栈)' –

+0

这是你想要的吗? TEST2 < - data.frame(COL1 =膏(TEST1 [[1]],TEST1 [[2]],九月=““)) > TEST2 COL1 1摩西 2 B贝纳 3c的拉姆 –

回答

-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]) 
+0

你好@Arun kumar mahesh,我需要一个单一的输出,“a”作为列名和名字:Moshea Yossia Ram as values – mql4beginner

+1

你完成了所有的工作。我不这是他们想要的。你可以通过'setNames(data.frame(test1 [[2]]),test1 [[1]] [1])'来达到这个目的。 –

+0

@ mql4beginner是输出正在寻找 –

1

有关使用reshape2::melt如何?

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