如何在R中以数据帧的形式返回多个行名称列表?
我在一个对象列表中有25个列表,我从25个相关值小于-0.4的RNAseq数据中得到了一个子集 它们具有不同的长度和行名称,如下所示如何在R中以数据帧的形式返回多个行名称列表?,r,dataframe,R,Dataframe,我在一个对象列表中有25个列表,我从25个相关值小于-0.4的RNAseq数据中得到了一个子集 它们具有不同的长度和行名称,如下所示 head(lists) $Sample1 Sample1 CWC27 -0.4000203 MCM3AP-AS1 -0.4000415 TAF1D -0.4000936 SOX21 -0.4003181 PRPF6 -0.4003951 TYSND1 -0.40
head(lists)
$Sample1
Sample1
CWC27 -0.4000203
MCM3AP-AS1 -0.4000415
TAF1D -0.4000936
SOX21 -0.4003181
PRPF6 -0.4003951
TYSND1 -0.4005185
$Sample2
Sample2
ZEB1 -0.4000603
BRD7 -0.4001116
AP2B1 -0.4003789
CDH10 -0.4005792
$Sample3
Sample3
WIZ -0.4125093
RAB22A -0.4175807
TMEM143 -0.4176838
HNRNPUL1 -0.4187072
SOBP -0.4194346
我只想返回行名,而不是值,比如
Sample1 Sample2 Sample3
CWC27 ZEB1 WIZ
MCM3AP-AS1 BRD7 RAB22A
TAF1D AP2B1 TMEM143
SOX21 CDH10 HNRNPUL1
PRPF6 SOBP
TYSND1
我迷路了,因为我不熟悉R。我试过类似的方法
do.call(cbind, lapply(lapply(lists, unlist), "[",
unique(unlist(c(sapply(lists,rownames))))))
它不起作用,正在返回
Sample1 Sample2 Sample3
NA NA NA
NA NA NA
NA NA NA
NA NA NA
NA NA NA
NA NA NA
有人能帮我吗?谢谢 分解它:
首先,获取每个对象的行名称
names_list <- lapply(lists, rownames)
最后,转换为data.frame
尝试lappylists,functionl rownameslYes,它确实返回了行名。但是,您能告诉我如何将它们绑定为data.frame以用于导出写入表吗?我无法访问解释器atm,请尝试使用as.data.FrameLappylists和行名。您可能需要进行转置,但它无法正常工作。在函数…,row.names=NULL,check.rows=FALSE,check.names=TRUE中出现以下错误:参数表示不同的行数:6、4、5…as.data.framelappylists,functionl rownamesl如果与您希望看到的不同,请尝试tas.data.framelappylists,functionl rownamesl
max_length <- max(sapply(names_list, length))
names_list <- lapply(names_list, "length<-", max_length)
data.frame(names_list)