【发布时间】:2021-09-28 20:28:33
【问题描述】:
我有几个以 *.var 结尾的文件,然后我想合并
为此,我使用了包 purrr
filelist = list.files(pattern = "*.var$") #make the file list
df = filelist %>%
set_names() %>%
map_dfr(
~ read_csv(.x, col_types = cols(), col_names = FALSE),
.id = "file_name"
)
这似乎给了我想要的输出
# A tibble: 6 x 3
file_name X1 X2
<chr> <chr> <chr>
1 CV.var Chrom_3_793 T
2 CV.var Chrom_3_4061 G
3 CV.var Chrom_3_4034 G
4 CV.var Chrom_3_4035 A
5 GK.var Chrom_3_4061 T
6 CV.var Chrom_3_4064 T
但现在我想将此表转换为具有布尔值的表。 基本上,我希望第 1 列的值(总共有 4 个)成为列条目。 前 2 列将是 X1 和 X2 列 这样我就可以知道是否
Chrom_3_4061 T 在我的 1、2、3 或 4 个集合中,例如:
CV.var GK.var DP.var SK.var
Chrom_3_4061 G 1 0 1 1
那应该是转置和剪切粘贴的问题,什么是最有效的方法,我对不同的包和方法感到有点迷茫。
非常感谢。
【问题讨论】:
-
这里没有建议使用
data.table包(data.table tag 除外),并且您的所有代码都使用 tidyverse 函数。你能澄清一下吗? -
我可以使用任何解决方案,我不依赖于 tidyverse 或 data.table。
-
查看链接的帖子,它有很多解决方案,包括整洁和数据表。
标签: r dataframe data.table tidyverse tidy