r - 如何根据数据框中的常用值将嵌套数据框列表转换为计数矩阵
问题描述
我有一长串基因。我在下面添加了一个玩具示例。
dput(list1) 的输出
list(ENDOSS = structure(list(ENDOSS = c("CDKN1C", "SOX6", "TGFB2"
)), row.names = c(NA, -3L), class = "data.frame"), ENDOSSSD = structure(list(
ENDOSSSD = c("CDKN1C", "SOX6", "TGFB2")), row.names = c(NA,
-3L), class = "data.frame"), GASTRIN = structure(list(GASTRIN = c("IKBKB",
"KIT", "SERPINE1")), row.names = c(NA, -3L), class = "data.frame"),
METCC = structure(list(METCC = character(0)), row.names = character(0), class = "data.frame"))
玩具清单看起来像这样
list1
ENDOSS
"CDKN1C", "SOX6", "TGFB2"
ENDOSSSD
"CDKN1C", "SOX6", "TGFB2"
GASTRIN
"IKBKB", "KIT", "SERPINE1"
METCC
我想将此列表转换为计数矩阵。根据示例,输出应如下所示。
CDKN1C IKBKB KIT SERPINE1 SOX6 TGFB2
ENDOSS 1 0 0 0 1 1
ENDOSSSD 1 0 0 0 1 1
GASTRIN 0 1 1 1 0 0
METCC 0 0 0 0 0 0
任何帮助,将不胜感激。谢谢。
解决方案
我们可以mtabulate
在将列转换为每个list
元素中的向量后使用
library(qdapTools)
mtabulate(lapply(list1, unlist))
CDKN1C IKBKB KIT SERPINE1 SOX6 TGFB2
ENDOSS 1 0 0 0 1 1
ENDOSSSD 1 0 0 0 1 1
GASTRIN 0 1 1 1 0 0
METCC 0 0 0 0 0 0
推荐阅读
- javascript - 使用渐变织物 Js 设置文本背景颜色
- python - 如何打印在该 DataFrame 的单个元素中包含行的 Pandas DataFrame?
- python - 在python中使用opencv识别图像中的颜色
- python - 这个并发代码是否使用本质上不是顺序的进程 - Pyhon 多进程?
- python - 展平嵌套字典并将其转换为 Dataframe 的列
- php - 使用 JQuery 在 PHP 中访问 Vue JS 组件数据
- python - 在 Python 代码中的 VSC 中出现语法错误
- python-3.x - 如何从段落中删除不必要的行空间
- python - Raspberry Pi,Python:如何通过 USB 串口发送大数据?
- javascript - 如何防止使用 Socket.io 滚动类似事件?- 角度 7