从表中获取前两列并在R中转换为列表
我得到了一个像这样的数据帧从表中获取前两列并在R中转换为列表,r,list,R,List,我得到了一个像这样的数据帧 V1 V2 V3 V4 V5 1 GDPD3 MEOX2 0 M0039 0.8908179 2 GDPD3 CDKN1B 0 M0039 0.8885465 3 GDPD3 BMP4 0 M0039 0.9067873 4 GDPD3 XAF1 0 M0039 0.8924670 5 GDPD3 TRIM45 0 M0039 0.9147674 6 IL6 SPAG8 0 M0039 0.9034421
V1 V2 V3 V4 V5
1 GDPD3 MEOX2 0 M0039 0.8908179
2 GDPD3 CDKN1B 0 M0039 0.8885465
3 GDPD3 BMP4 0 M0039 0.9067873
4 GDPD3 XAF1 0 M0039 0.8924670
5 GDPD3 TRIM45 0 M0039 0.9147674
6 IL6 SPAG8 0 M0039 0.9034421
我想提取第一列和第二列,并将它们转换为一个列表,如
"GPD3" "GPD3" "GPD3" "GPD3" "GPD3" "GPD3" "MEOX2" "CDKN1B" "BMP4" "XAF1" "TRIM45" "SPAG8"
只有一列的数据帧也适用于我
我最后一次尝试是
brown=c(as.list(brown[1]), as.list(brown[2]))
这给了我两张清单
我不明白为什么它不工作下面的代码工作正常
letters = c("a","b")
num = c("1","2")
lenum = c(letters, num)
lenum
莱纳姆正是我想要的
> lenum
[1] "a" "b" "1" "2"
一个选项是选择前两列,
unlist
,以创建向量
(而不是列表
)
out一个选项是选择前两列,unlist
创建向量(而不是列表
)
out我们可以使用as.matrix
+c
> c(as.matrix(df[1:2]))
[1] "GDPD3" "GDPD3" "GDPD3" "GDPD3" "GDPD3" "IL6" "MEOX2" "CDKN1B"
[9] "BMP4" "XAF1" "TRIM45" "SPAG8"
或者使用do.call+unname
> unname(do.call(c, df[1:2]))
[1] "GDPD3" "GDPD3" "GDPD3" "GDPD3" "GDPD3" "IL6" "MEOX2" "CDKN1B"
[9] "BMP4" "XAF1" "TRIM45" "SPAG8"
我们可以使用as.matrix
+c
> c(as.matrix(df[1:2]))
[1] "GDPD3" "GDPD3" "GDPD3" "GDPD3" "GDPD3" "IL6" "MEOX2" "CDKN1B"
[9] "BMP4" "XAF1" "TRIM45" "SPAG8"
或者使用do.call+unname
> unname(do.call(c, df[1:2]))
[1] "GDPD3" "GDPD3" "GDPD3" "GDPD3" "GDPD3" "IL6" "MEOX2" "CDKN1B"
[9] "BMP4" "XAF1" "TRIM45" "SPAG8"
您可能需要unlist(brown[1:2])
假设他们是character
class您可能需要unlist(brown[1:2])
假设他们是character
class