R 计算列中相同字符串的数量-删除奇数计数
我想计算列中相同字符串的数量,如果该数量为奇数,则删除具有此类字符串的所有行。例如:R 计算列中相同字符串的数量-删除奇数计数,r,R,我想计算列中相同字符串的数量,如果该数量为奇数,则删除具有此类字符串的所有行。例如: set.seed(1) df <- data.frame( Name = c(rep("Mark", 6), rep("Tom", 8), rep("Tim", 12), rep("Greg", 3), rep("Matt", 3)), rand = rnorm(32, 0, 1)) set.seed(1) df带有dplyr的解决方案 library(dplyr) df_new <- df %&
set.seed(1)
df <- data.frame(
Name = c(rep("Mark", 6), rep("Tom", 8), rep("Tim", 12), rep("Greg", 3), rep("Matt", 3)),
rand = rnorm(32, 0, 1))
set.seed(1)
df带有dplyr的解决方案
library(dplyr)
df_new <- df %>% group_by(Name) %>% filter(n() %% 2 == 0)
库(dplyr)
df_新建%group_by(名称)%%>%filter(n()%%2==0)
如果这是基于“Name”中唯一元素的奇数/偶数计数,则使用带有数据的选项。表
仅保留“Name”的偶数计数
library(data.table)
setDT(df)[, if(!.N%%2) .SD , by = Name]
使用表格
EvenNames = names(table(DF$Name))[as.vector(table(DF$Name))%%2==0]
DF = DF[DF$Name %in% EvenNames,]