簡體   English   中英

如何在R中使用dplyr清除相似觀測值的數據

[英]How to clean data from similar observations with dplyr in R

我正在使用Rfacebook通過R從Facebook API中提取一些內容。盡管有時它們在facebook中僅出現1次,但有時還是會發回兩三遍。 我的檢索器可能出現了一些問題。 我已經提取了很多數據,並且不想重新運行爬網。 所以我在考慮清理我的數據。

dplyr有什么方便的方法嗎?

我得到的數據如下所示:

Name            message           created_time                   id

Sam             Hello World       2013-03-09T19:52:22+0000       26937808
Nicky           Hello Sam         2013-03-09T19:53:16+0000       26930800
Nicky           Hello Sam         2013-03-09T19:53:16+0000       26930800
Nicky           Hello Sam         2013-03-09T19:53:16+0000       26930800
Sam             Whats Up?         2013-03-09T19:53:22+0000       26937806
Sam             Whats Up?         2013-03-09T19:53:22+0000       26937806
Florence        Hi guys!          2013-03-09T19:55:16+0000       25688232
Steff           How r u?          2013-03-09T19:59:16+0000       64552194

我現在想有一個新的數據框架,其中每個帖子僅出現一次,以便將Nicky的三個“雙重”帖子減少到一個,而Sam的兩個雙重帖子也減少到一個帖子。

任何想法或建議如何在R中執行此操作? 看來Facebook正在為帖子和評論提供唯一的ID,以及時間戳在我的數據中幾乎是唯一的。 兩者都將用於識別。 但是,我仍然不清楚如何最好地進行轉換...

對此的任何幫助都將受到高度贊賞!

謝謝!

如果使用dplyr ,則可以簡單地使用distinct() (另請參見本主題 )。

如果重復項是基於特定的列,則可以使用unique with by選項

library(data.table)
unique(setDT(df1), by = c("Name", "message"))

或者如果是整個數據集,則可以使用base R unique

unique(df1)

暫無
暫無

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

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