R 根据其他df的条件,在df中添加0或1

R 根据其他df的条件,在df中添加0或1,r,dataframe,R,Dataframe,我有一个数据帧df1,带有: 我生成一个空矩阵df2,其中文件名为行,loc为列。我想在df1中存在的每个位置添加1个值。例如: chr1:62161618:62162663:- chr1:62161618:62162669:-... rep1 1 0 rep2 0 1 ... 有什么建议吗? 谢谢 使用dplyr和tidyr的解决

我有一个数据帧df1,带有:

我生成一个空矩阵df2,其中文件名为行,loc为列。我想在df1中存在的每个位置添加1个值。例如:

     chr1:62161618:62162663:-    chr1:62161618:62162669:-...
rep1           1                            0
rep2           0                            1
...
有什么建议吗? 谢谢

使用dplyr和tidyr的解决方案

资料


你好谢谢你的反馈!我想知道如果我用第三列代替0和1来填充df1中的值来填充df2,代码是否会有所不同。我想你可能需要一个连接操作。你可能想问一个新问题。
     chr1:62161618:62162663:-    chr1:62161618:62162669:-...
rep1           1                            0
rep2           0                            1
...
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
dt <- read.table(text = "file_name  loc
rep1   'chr1:62161618:62162663:-'
                 rep2   'chr1:62161618:62162669:-'",
                 header = TRUE, stringsAsFactors = FALSE)