【发布时间】:2020-03-24 23:34:18
【问题描述】:
我有 2 个数据框:
df1(所有基因及其表达值——每列名称是一个基因)
df2(要分析的基因列表——每个基因都是一个列名,没有任何额外的数据)
基本上我想通过列名合并它们,获得第三个数据框 df1 但只有两个数据框上存在的基因(常见的列名)。
我不知道我是否解释得很好,但如果我能提供更多信息,请告诉我。
数据框示例:
df1 <- data.frame(matrix(ncol = 4, nrow = 0))
x1 <- c("name", "school", "job", "gender")
colnames(df1) <- x1
df2 <- data.frame(matrix(ncol = 3, nrow = 0))
x2 <- c("name", "age", "gender")
colnames(df2) <- x2
基本上,我想要的是 df1,但简化为 df1 和 df2 上的列,即“名称”和“性别”。但是在我的工作中,我有很多基因,所以我不能一个基因一个基因地去做。
谢谢!
【问题讨论】:
-
你能展示一些示例数据吗
-
我想我现在做到了。谢谢
-
它显示了 0 行的 data.frame。你能试试
merge(df1, df2),它会通过通用名称合并 -
df1 有 136 行(值),而 df2 有 0 行,因为它是一个转换为数据框的列表。如果我合并它会给我一个新的数据框,其中包含 0 行和 df1 上的每一列......我想要相反:df1 上的每一行,只有 df1 和 df2 之间的公共列(列名)。
-
完美!非常感谢,如果我一开始没有正确解释,我很抱歉。