将不唯一但具有不同标签的行保留在R中的另一列中
我有一个叫做“数据帧”的数据帧 它有一列“暴露”,例如ABC、DEF、GHI和一列红色和黄色的“标签”。它们可以位于标有“红色”的一行上,也可以位于标有“红色”的多行上,或者位于标有“黄色”和“红色”的多行上将不唯一但具有不同标签的行保留在R中的另一列中,r,subset,unique,R,Subset,Unique,我有一个叫做“数据帧”的数据帧 它有一列“暴露”,例如ABC、DEF、GHI和一列红色和黄色的“标签”。它们可以位于标有“红色”的一行上,也可以位于标有“红色”的多行上,或者位于标有“黄色”和“红色”的多行上 Exposure Label ABC yellow DEF yellow GHI red GHI red GHI red JKL yellow DEF red ABC yel
Exposure Label
ABC yellow
DEF yellow
GHI red
GHI red
GHI red
JKL yellow
DEF red
ABC yellow
ABC red
我如何提取那些多次出现但颜色不同的图像?所以这里我想保留ABC,因为它是黄色和红色的,但失去GHI,因为它们只是红色的
到目前为止,我只能保留那些非唯一的
both <- dataframe %>% group_by(Exposure) %>% filter(n()>1)
两个%group\u by(暴露)%%>%过滤器(n()>1)
但是,您不知道如何指定保留那些只有不同标签的标签,而不是相同的标签
谢谢 您可以将两列合并为一个新列,然后使用unique创建子集
df$x <- paste(df$Exposure,df$Label)
df <- df[!duplicated(df$x), ]
df$x您可以将两列合并成一个新列,然后使用unique创建子集
df$x <- paste(df$Exposure,df$Label)
df <- df[!duplicated(df$x), ]
df$x库(data.table)
#样本数据
DT 1).标准偏差,由=暴露]
#曝光标签
#1:ABC黄色
#2:ABC黄色
#3:ABC红色
#4:DEF黄色
#5:DEF红色
库(data.table)
#样本数据
DT 1).标准偏差,由=暴露]
#曝光标签
#1:ABC黄色
#2:ABC黄色
#3:ABC红色
#4:DEF黄色
#5:DEF红色
基本R选项
subset(
dataframe,
ave(Label, Exposure, FUN = function(x) length(unique(x))) > 1
)
给予
基本R选项
subset(
dataframe,
ave(Label, Exposure, FUN = function(x) length(unique(x))) > 1
)
给予
n()
将给出组中的行数,n_distinct(标签)
将给出唯一值的计数
library(dplyr)
dataframe %>% group_by(Exposure) %>% filter(n_distinct(Label)>1) %>% ungroup
# Exposure Label
# <chr> <chr>
#1 ABC yellow
#2 DEF yellow
#3 DEF red
#4 ABC yellow
#5 ABC red
库(dplyr)
数据帧%>%group\U by(曝光)%%>%filter(n\U distinct(标签)>1)%%>%ungroup
#曝光标签
#
#1 ABC黄色
#2 DEF黄色
#3 DEF红色
#4 ABC黄色
#5 ABC红色
n()
将给出组中的行数,n\u distinct(标签)
将给出唯一值的计数
library(dplyr)
dataframe %>% group_by(Exposure) %>% filter(n_distinct(Label)>1) %>% ungroup
# Exposure Label
# <chr> <chr>
#1 ABC yellow
#2 DEF yellow
#3 DEF red
#4 ABC yellow
#5 ABC red
库(dplyr)
数据帧%>%group\U by(曝光)%%>%filter(n\U distinct(标签)>1)%%>%ungroup
#曝光标签
#
#1 ABC黄色
#2 DEF黄色
#3 DEF红色
#4 ABC黄色
#5 ABC红色
或者我们可以做setDT(dataframe)[,.SD[uniqueN(Label)>1],Exposure]
非常感谢你们两位!他们成功了!或者我们可以做setDT(dataframe)[,.SD[uniqueN(Label)>1],曝光]
非常感谢你们两位!他们成功了!