R删除两列中没有相同值的行

时间:2016-11-10 02:09:17

标签: r subset

很抱歉,问一些应该是一件容易的工作,我是一名地质学生,试图将R用于他在学校的工作。

我想从我的数据库中删除行,其中两个特定列的值不匹配。

示例:

e F 14 14
t D 14 12
j A 11 11
a R 14 13

所以第二行应该删除,第四行也应该删除。带字母的列不应该相关,只有两个带有数字。

3 个答案:

答案 0 :(得分:1)

简单subset操作:

new_df <- subset(df, columnX == columnY)

答案 1 :(得分:0)

假设您的数据存储在df中,以执行以下操作:

df <- data.frame(col1= c('e','t','j','a'),
                 col2 =c('F','D','A','R'),
                 col3=c(14,14,11,14),
                 col4=c(14,12,11,13))
df <- df[df$col3==df$col4,]

答案 2 :(得分:-1)

因此,假设您要删除的行是2,3

关键的想法是,您要形成一组要删除的行,并保留该集合的补充。

在R中,一组的补集由&#39; - &#39;给出。操作

因此,假设data.frame被称为myData:

myData <- myData[-c(2, 3), ]