我想从“ X2”和“ X3”列中的数字不匹配的数据框中删除行。我只希望在“ X2”和“ X4”列中只保留匹配值的行。
这是一个示例数据集:
dataframe <- data.frame(X1 = c("OP2413iiia","OP2413iiia","OP2413iiib","OP2413iiia","OP2413iiib","OP2413iiic","OP2413iiia","OP2413iiib","OP2413iiic","OP2645ii_a","OP2413iiia","OP2413iiib","OP2413iiic","OP2645ii_a","OP2645ii_b","OP2413iiia","OP2413iiib","OP2413iiic","OP2645ii_a","OP2645ii_b","OP2645ii_c","OP2413iiia","OP2413iiib","OP2413iiic","OP2645ii_a","OP2645ii_b","OP2645ii_c","OP2645ii_d","OP2413iiia","OP2413iiib","OP2413iiic","OP2645ii_a","OP2645ii_b","OP2645ii_c","OP2645ii_d"),
X2 = c("3","3","3","3","3","3","3","3","3","4","3","3","3","4","2","3","3","3","4","2","4","3","3","3","4","2","4","2","3","3","3","4","2","4","2"),
X3 = c("OP2413iiib","OP2413iiic","OP2413iiic","OP2645ii_a","OP2645ii_a","OP2645ii_a","OP2645ii_b","OP2645ii_b","OP2645ii_b","OP2645ii_b","OP2645ii_c","OP2645ii_c","OP2645ii_c","OP2645ii_c","OP2645ii_c","OP2645ii_d","OP2645ii_d","OP2645ii_d","OP2645ii_d","OP2645ii_d","OP2645ii_d","OP2645ii_e","OP2645ii_e","OP2645ii_e","OP2645ii_e","OP2645ii_e","OP2645ii_e","OP2645ii_e","OP3088i__a","OP3088i__a","OP3088i__a","OP3088i__a","OP3088i__a","OP3088i__a","OP3088i__a"),
X4 = c("3","3","3","4","4","4","2","2","2","2","4","4","4","4","4","2","2","2","2","2","2","4","4","4","4","4","4","4","3","3","3","3","3","3","3"),
value = c("1.610613e+00","1.609732e+00","8.829263e-04","1.080257e+01","1.111006e+01","1.110978e+01","4.048302e+00","5.610458e+00","5.609584e+00","9.911490e+00","1.078518e+01","1.133728e+01","1.133686e+01","1.738092e+00","9.247411e+00","5.170646e+00","6.074909e+00","6.074287e+00","6.212711e+00","3.769029e+00","5.793390e+00","1.124045e+01","1.163326e+01","1.163293e+01","7.752766e-01","1.008434e+01","1.222854e+00","6.469443e+00","1.610828e+00","1.784774e+00","1.784235e+00","9.434803e+00","4.512563e+00","9.582847e+00","4.309312e+00"))
先谢谢了。 干杯
答案 0 :(得分:2)
我们可以使用两个与&
中subset
中的base R
连接的表达式。由于所有列都是factor
类(使用默认设置data.frame
即stringsAsFactors = TRUE
创建的,因此最好将character
转换为as.character
类(或在创建stringsAsFactors = FALSE
时使用data.frame
subset(dataframe, (as.character(X2) != as.character(X3)) &
(as.character(X2) == as.character(X4)))
答案 1 :(得分:0)
“ X2”和“ X3”列中的数字不匹配
根据您的示例,我想您想编写X2和X4。