R 通过匹配两列的值筛选数据帧
我在r中有一个数据帧。我想删除两列中字符串值相等的行。我在r中使用了匹配函数,但无法获得所需的输出。例如,我的数据帧是R 通过匹配两列的值筛选数据帧,r,dataframe,R,Dataframe,我在r中有一个数据帧。我想删除两列中字符串值相等的行。我在r中使用了匹配函数,但无法获得所需的输出。例如,我的数据帧是 ALDH1A1 ALDH1A1 ITGA7 CHRNA1 PPP1R9A ACTG1 SRGN SRGN GRB7 ERBB2 PAK1 ERBB2 DLG4 DLG4 PIK3R2 ERBB2 PTPN18 ERBB2 ERBB2 ERBB2 SMURF2 ARHGAP5 NF2 ERBB2 CD82 CD82
ALDH1A1 ALDH1A1
ITGA7 CHRNA1
PPP1R9A ACTG1
SRGN SRGN
GRB7 ERBB2
PAK1 ERBB2
DLG4 DLG4
PIK3R2 ERBB2
PTPN18 ERBB2
ERBB2 ERBB2
SMURF2 ARHGAP5
NF2 ERBB2
CD82 CD82
ERRFI1 ERBB2
CD44 CD44
TOB1 TOB1
过滤掉列值相等的行后,我想要的数据帧是
ITGA7 CHRNA1
PPP1R9A ACTG1
GRB7 ERBB2
PAK1 ERBB2
PIK3R2 ERBB2
PTPN18 ERBB2
SMURF2 ARHGAP5
NF2 ERBB2
ERRFI1 ERBB2
让我们假设您的数据集被称为
dta
然后简单地
dta[which(dta[,1] != dta[,2]), ]
请提供dput
,以便重现您的示例 或
library(dplyr)
result = dta %>% filter(V1 != V2)
其中V1和V2是列的名称,不带引号。假设您将数据放入一个名为df的R对象中,并带有V1和V2列,您可以通过dplyr非常简单地实现这一点
library(dplyr)
df = filter(df, V1 != V2)
dat[dat[,1]!=dat[,2],]
(假设您正在比较第1列和第2列)