R中2列的公共值

时间:2017-07-18 10:12:17

标签: r

我有一个包含3列的文件。第一列是ID,第二列和第三列是2个条件的值。在条件列中,我有-+值。我想制作2个单独的文件。第一个是负值,第二个是正值。你知道怎么在R?

1 个答案:

答案 0 :(得分:1)

这样的东西?

set.seed(1)
df1 <- data.frame(id=1:5,cond1 = sample(-100:100,5), cond2 = sample(-100:100,5))
df_neg <- df_pos <- df1
df_pos[,2:3][df1[,2:3]<0] <- NA # or 0, or NULL
df_neg[,2:3][df1[,2:3]>0] <- NA # or 0, or NULL

# > df1
# id cond1 cond2
# 1  1   -47    80
# 2  2   -26    88
# 3  3    13    31
# 4  4    79    24
# 5  5   -61   -88
# > df_pos
# id cond1 cond2
# 1  1    NA    80
# 2  2    NA    88
# 3  3    13    31
# 4  4    79    24
# 5  5    NA    NA
# > df_neg
# id cond1 cond2
# 1  1   -47    NA
# 2  2   -26    NA
# 3  3    NA    NA
# 4  4    NA    NA
# 5  5   -61   -88