2016-11-10 41 views
-1

对不起,要求提供应该是一件容易工作的东西,我是一名地质学生,渴望在学校中使用R来工作。R删除行,在两列中没有相同的值

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

例如:

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

所以第二行应该被删除和第四也是如此。带有这些字母的列不应该相关,只有两个带有数字。

+3

像'DF [DF $ COL3 == DF $ COL4,]' – HubertL

回答

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,] 
-1

所以假设你要删除的行是2,3

的核心思想是你形成一套的要删除的行,并保留该集的补充。

在R中,集合的补码由' - '运算符给出。

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

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

简单subset操作:

new_df <- subset(df, columnX == columnY) 
相关问题