簡體   English   中英

在R中應用函數以比較列

[英]apply functions in R for comparing columns

我有一個名為df的數據df 我想檢查每個文檔的xcoordinate ycoordinate是否相同。

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))

看起來有點凌亂,但可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM