r语言 - 根据组向数据框架中添加数据



我正在处理生物信息学数据,每行有一个基因,列有统计数据/元数据。有些基因来自同一生物体,用"id"栏表示,我将数据分组在这个变量上。

data <- data %>%
group_by(ID)

我想根据ID(分组因子)添加来自另一个文件的数据,因此ID = a的行应该具有来自名为a.gff的文件的数据,以此类推。我想添加的数据来自包含基因位置的.gff文件。有一个gff文件为ID=a,一个为ID=b,一个为ID=c等,根据ID命名(例如"a.gff")。

数据的样子:

<表类>基因IDtbody><<tr>CelACelBAtl td>prTHUlc

我认为最简单的方法是先阅读所有的。人造石铺地面文件。我不熟悉的格式,所以我的例子将使用.csv扩展名。下面的代码读取"目录"中的所有文件目录作为列表列,然后将其解嵌,因此是一个常规的目录。

之后,您可以使用两个标题只left_join(),然后按ID分组。

library(tidyverse)
binded <- tibble(
file = list.files("dir"), # can remove before the join
location = list.files("dir", full.names = TRUE), # can remove before the join
ID = str_remove(file, ".csv"),
df = map(location, read_csv)
) %>% 
unnest(df)
data %>% 
left_join(binded)

相关内容

  • 没有找到相关文章

最新更新