在 R 中应用函数来比较列

apply functions in R for comparing columns

我有一个名为 df 的数据框。我想检查每个文档的 x 坐标 y 坐标是否相同。

doc <- c("doc1", "doc2", "doc3") 
xcor <- c(3,4,5,3,4,5,3,4,4)   
ycor <- c(2,6,8,2,6,8,2,6,8) 
df <- data.frame(doc,xcor,ycor) 
df

doc xcor ycor  
doc1    3    2   
doc2    4    6  
doc3    5    8 
doc1    3    2  
doc2    4    6    
doc3    5    8  
doc1    3    2  
doc2    4    6  
doc3    4    8

我现在正在努力使用所有的应用函数,但这并没有得到想要的结果。
这是

doc1 TRUE  
doc2 TRUE  
doc3 FALSE

我认为您不需要 apply 函数。我们可以统计剔除重复行后的重复文档数:

table(df[!duplicated(df),]$doc) == 1

 doc1  doc2  doc3 
 TRUE  TRUE FALSE

甚至更短(@DavidArenburg):

table(unique(df)$doc) == 1

好吧,你仍然可以用 lapply:

unlist(lapply(lapply(lapply(split(df, doc), unique), nrow), `==`, 1))

看起来有点乱,但确实有效。