我有一张桌子:
df <- read.table(text="
a b 5
a a 2
c a 3
d d 2
a a 1
b d 2 ")
colnames(df) <- c("Gen1","Gen2", "N")
我想在Gen1 = Gen2时删除行。 例如,我会得到这个例子:
result <- read.table(text="
a b 5
c a 3
b d 2 ")
colnames(df) <- c("Gen1","Gen2", "N")
我尝试过重复,但重复是每行,而不是列。
答案 0 :(得分:1)
我们可以使用subset
subset(df, Gen1!=Gen2)
filter
来自tidyverse
library(tidyverse)
df %>%
filter(Gen1 != Gen2)
df[1:2] <- lapply(df[1:2], as.character)
答案 1 :(得分:0)
对于大型数据集,您可以使用data.table
:
library(data.table)
setDT(df)[Gen1!=Gen2,]