我有三个角色向量:
row.get('extra', '') # rather than row['extra']
我希望将它们组合成一个数据帧,使它们看起来像这样:
blue <-c("Ti","Ka","Vv","Cn")
Turq <-c("Cc","Wx","Oq","Yt")
Indigo <-c("Gb","Ap")
我似乎无法找到方法
答案 0 :(得分:3)
您可以将矢量放在命名列表中,然后使用/usr/bin/vmmap -www $pid
:
stack
答案 1 :(得分:0)
这不是很有效,但它可以完成工作。
blue <-c("Ti","Ka","Vv","Cn")
Turq <-c("Cc","Wx","Oq","Yt")
Indigo <-c("Gb","Ap")
#assumes no duplicates in the original vectors.
df<-as.data.frame(cbind(blue, Turq, Indigo))
library(tidyr)
df<-unique(gather(df))
这会产生一些警告,但会提供您要求的结果。 cbind开始重复向量,以便所有向量都是相同的长度。
答案 2 :(得分:0)
尝试:
df<-data.frame(blue,Turq,Indigo)
library(reshape)
unique(melt(cbind(1:nrow(df),df),id=1)[,-1])
variable value
1 blue Ti
2 blue Ka
3 blue Vv
4 blue Cn
5 Turq Cc
6 Turq Wx
7 Turq Oq
8 Turq Yt
9 Indigo Gb
10 Indigo Ap
答案 3 :(得分:0)
我们可以在将矢量放入melt
。
list
library(reshape2)
melt(mget(c("blue", "Turq", "Indigo")))[2:1]
# L1 value
#1 blue Ti
#2 blue Ka
#3 blue Vv
#4 blue Cn
#5 Turq Cc
#6 Turq Wx
#7 Turq Oq
#8 Turq Yt
#9 Indigo Gb
#10 Indigo Ap