[英]How to remove duplicated rows from a list in R
我創建了一個包含配方成分的列表,但不知何故,在從 web 中抓取數據后,成分總是顯示 2 次。
如何從列出的項目中刪除重復項?
這是我得到的成分清單:
$Hozzávalók
[1] " 4 - 6 db kaffírlime-levél" " 1 nagy csokor friss koriander" " 2 - 3 szál citromnád"
[4] " 2 hüvelyknyi gyömbér" " 3 gerezd fokhagyma" " 2 szál újhagyma"
[7] " 2 - 3 db zöld chili" " 4 ek olívaolaj" " 1 db lime leve"
[10] " 170 g brokkoli" " 4 - 5 fej sonkahagyma" " 125 g zöldbab"
[13] " 150 g cukkini" " 6 - 8 ek olaj" " 150 g cukorborsó"
[16] " 500 ml zöldségalaplé" " 1 konzerv kókusztej" " 1 - 2 ek szójaszósz (világos)"
[19] " só" " 100 g barna simeji gomba" " 100 g simeji gomba"
[22] " ½ - 1 ek kukoricakeményítő" " 1 db lime" " rizstészta vagy jázmin rizs"
[25] " friss koriander" " friss chili" " 4 - 6 db kaffírlime-levél"
[28] " 1 nagy csokor friss koriander" " 2 - 3 szál citromnád" " 2 hüvelyknyi gyömbér"
[31] " 3 gerezd fokhagyma" " 2 szál újhagyma" " 2 - 3 db zöld chili"
[34] " 4 ek olívaolaj" " 1 db lime leve" " 170 g brokkoli"
[37] " 4 - 5 fej sonkahagyma" " 125 g zöldbab" " 150 g cukkini"
[40] " 6 - 8 ek olaj" " 150 g cukorborsó" " 500 ml zöldségalaplé"
[43] " 1 konzerv kókusztej" " 1 - 2 ek szójaszósz (világos)" " só"
[46] " 100 g barna simeji gomba" " 100 g simeji gomba" " ½ - 1 ek kukoricakeményítő"
[49] " 1 db lime" " rizstészta vagy jázmin rizs" " friss koriander"
[52] " friss chili"
這是我使用的代碼:
streetkitchen <- function(url){
h <- read_html(url)
nev <- h %>% html_node(".entry-head-mobile .entry-title") %>% html_text()
hozzavalok <- h %>% html_nodes("dd") %>% html_text() %>% !duplicated()
recept <- h %>% html_nodes(".the-content-div p") %>% html_text()
return(list(Név = nev, Hozzávalók = hozzavalok, Recept = recept))
}
我嘗試使用 function distinct()
但它僅適用於數據幀。 謝謝您的幫助!
unique
可能是您正在尋找的 function:
unique(streetkitchen$Hozzávalók)
您的帖子表明您確實有一個 dataframe (參見$
的使用)。 要從 dataframe 中刪除重復的行,您可以使用duplicated
:
數據:
df <- data.frame(
Hozzávalók = c(" 4 - 6 db kaffírlime-levél"," 1 nagy csokor friss koriander", " 2 - 3 szál citromnád", " 1 nagy csokor friss koriander"),
SomeOtherVar = c(1,2,1,3)
)
df
Hozzávalók SomeOtherVar
1 4 - 6 db kaffírlime-levél 1
2 1 nagy csokor friss koriander 2
3 2 - 3 szál citromnád 1
4 1 nagy csokor friss koriander 3 # duplicated `Hozzávalók` value
解決方案:
df[!duplicated(df$Hozzávalók),]
結果:
Hozzávalók SomeOtherVar
1 4 - 6 db kaffírlime-levél 1
2 1 nagy csokor friss koriander 2
3 2 - 3 szál citromnád 1
使用duplicated
的問題是只保留另一個變量的第一個值,這可能不是你想要的。 您可以分組並明確總結 state 如何計算其他變量,例如,使用dplyr
:
df %>% group_by(Hozzávalók) %>% summarise(SomeOtherVar = min(SomeOtherVar))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.