gpt4 book ai didi

r - 如何删除R中的重复推文?

转载 作者:行者123 更新时间:2023-12-03 23:31:29 25 4
gpt4 key购买 nike

我正在对推文进行文本挖掘
我对重复的推文有问题,如下所示:

“aeCERT:aeCERT 为选民、执法部门、学术部门和公众提供持续的信息安全意识计划。”

“Salim_aeCERT:aeCERT 为选民、执法部门、学术部门和公众提供持续的信息安全意识计划。”

我收到了两个不同帐户的相同推文,如何从我的数据集中删除一个?我试过这段代码,但重复的推文仍然出现:

tweets1.df <- do.call("rbind", lapply(tweets, as.data.frame))
tweets2.df <- tweets1.df[duplicated(tweets1.df ) == FALSE,]
dim(tweets2.df)

如何从不同帐户中删除重复的推文?

最佳答案

从推文中提取文本,然后使用 duplicated删除实际的重复项。

tweets = searchTwitter('aeCERT: aeCERT' , n=100, cainfo = "cacert.pem")
texts <- sapply( unlist( tweets ) , function(x) `$`( x , "text" ) )
length(texts)
#[1] 100
texts[87:91]
#[1] "You should always update your Operating System to reduce and eliminate vulnerabilities http://t.co/l0sdv0k304"
#[2] "We are today at Dubai Electricity and Water Authority (DEWA) in Dubai conducting information security awareness workshop by Eng. Khalifa..."
#[3] "We are today at Dubai Electricity and Water Authority (DEWA) in Dubai conducting information security awareness workshop by Eng. Khalifa..."
#[4] "صباح الخير لجميع المغردين ..متواجدين اليوم في هيئة كهرباء ومياه دبي لعقد ورش التوعية الأمنية الالكترونية يقدمها المهندس خليفة الشامسي"
#[5] "صباح الخير لجميع المغردين ..متواجدين اليوم في هيئة كهرباء ومياه دبي لعقد ورش التوعية الأمنية الالكترونية يقدمها المهندس خليفة الشامسي"

unq.texts <- texts[ ! duplicated( texts ) ]
length(unq.texts)
#[1] 82
unq.texts[71:74]
#[1] "You should always update your Operating System to reduce and eliminate vulnerabilities http://t.co/l0sdv0k304"
#[2] "We are today at Dubai Electricity and Water Authority (DEWA) in Dubai conducting information security awareness workshop by Eng. Khalifa..."
#[3] "صباح الخير لجميع المغردين ..متواجدين اليوم في هيئة كهرباء ومياه دبي لعقد ورش التوعية الأمنية الالكترونية يقدمها المهندس خليفة الشامسي"
#[4] "RT @Salim_aeCERT: لا تستجب للمكالمات الهاتفية التي تخبرك بأنك ربحت جوائز قيمة ومبالغ مالية، فقد تكون ضحية للاحتيال #aecert http://t.co/HTK5…"

请注意,即使推文文本中的一个字符更改也意味着推文不会被检测为重复(例如,与有人转发并通过不同的链接缩短器添加链接的情况相关)。

你也可以做类似的事情
sapply( unlist( tweets ) , function(x) length(`$`( x , "replyToUID" ) ) > 0 )

获取回复他人推文的所有推文的逻辑向量,或
sapply( unlist( tweets ) , function(x) length(`$`( x , "retweeted" ) ) > 0 )

获得作为转推的推文的逻辑向量(但我不确定这是否可靠,因为在我的样本中没有推文被转推)。可以使用(例如)找到其他适用的名称和方法:
str(tweets[[1]])
Reference class 'status' [package "twitteR"] with 14 fields
$ text : chr "<U+062A><U+0639><U+0644><U+0645> <U+0627><U+0644><U+0645><U+0632><U+064A><U+062F> <U+0639><U+0646> <U+062A><U+062D><U+062F><U+"| __truncated__
$ favorited : logi FALSE
$ replyToSN : chr(0)
$ created : POSIXct[1:1], format: "2013-06-04 08:02:24"
$ truncated : logi FALSE
$ replyToSID : chr(0)
$ id : chr "341827259352641536"
$ replyToUID : chr(0)
$ statusSource: chr "<a href=\"http://www.hootsuite.com\" rel=\"nofollow\">HootSuite</a>"
$ screenName : chr "Salim_aeCERT"
$ retweetCount: num 1
$ retweeted : logi FALSE
$ longitude : chr(0)
$ latitude : chr(0)

关于r - 如何删除R中的重复推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com