我的数据框df1
包含:
file_name loc
rep1 chr1:62161618:62162663:-
rep2 chr1:62161618:62162669:-
...
我生成一个空矩阵(df2
),其中file_name
为行,loc
为列。我想在df1
中出现的每个位置添加“1”值。举个例子:
chr1:62161618:62162663:- chr1:62161618:62162669:-...
rep1 1 0
rep2 0 1
...
有什么建议吗? 谢谢!
答案 0 :(得分:1)
使用#include <windows.h>
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
和dplyr
的解决方案。
tidyr
数据强>
library(dplyr)
library(tidyr)
dt2 <- dt %>%
mutate(condition = 1) %>%
spread(loc, condition, fill = 0)
dt2
# file_name chr1:62161618:62162663:- chr1:62161618:62162669:-
# 1 rep1 1 0
# 2 rep2 0 1