小编Car*_*rbo的帖子

group_by,获取最频繁和第二频繁的

我有以下数据集:

a   b

1   a           
1   a           
1   a           
1   none            
2   none            
2   none            
2   b           
3   a           
3   c           
3   c
3   d
4   a
Run Code Online (Sandbox Code Playgroud)

我想获取任何 a 的 b 中最频繁的值以及任何 a 的 b 的第二频繁值。如果 b 中的两个值具有相同的频率,我对这两个值中的任何一个被视为“第一”或“第二”不关心。

在这种情况下,预期输出将是:

d2:

a    first    second 
1    a        none
2    none     b
3    c        a(or d, doesn't matter)
4    a        NA
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,a=4 在 b 中只有一个值,因此我预计输出列“第二”中为 NA,因为没有第二个最常见的值。

数据:

a <- c(1,1,1,1,2,2,2,3,3,3,3,4)
b<- c("a","a", "a", "none", "none", "none", "b", "a", "c" , "c",  "d","a")  
d …
Run Code Online (Sandbox Code Playgroud)

group-by r dplyr summarize

4
推荐指数
1
解决办法
1719
查看次数

quanteda:按行计算两个 DFM 之间的文本相似度

我有一个包含 2 个文本字段的数据框:评论和主帖子

基本上这是结构

         id  comment                        post_text
          1   "I think that blabla.."        "Why is blabla.."
          2   "Well, you should blabla.."    "okay, blabla.."
          3    ...
Run Code Online (Sandbox Code Playgroud)

我想计算第一行注释中的文本与第一行 post_text 中的文本之间的相似度,并对所有行执行此操作。据我所知,我必须为两种类型的文本创建单独的 dfm 对象

          corp1 <- corpus(r , text_field= "comment")
          corp2 <- corpus(r , text_field= "post_text")
          dfm1 <- dfm(corp1)
          dfm2 <- dfm(corp2)
Run Code Online (Sandbox Code Playgroud)

最后,我想获得这样的东西:

id  comment                     post_text          similarity
1   "I think that blabla.."     "Why is blabla.."  *similarity between comment1 and post_text1
2   "Well, you should blabla.." "okay, blabla.."  *similarity between comment2 and post_text2
3    ...
Run Code Online (Sandbox Code Playgroud)

我不知道如何继续,我在 …

nlp r similarity quanteda

3
推荐指数
1
解决办法
1221
查看次数

当 R 中存在重复项时,保留最近的观察结果

我有以下数据。

  date                         var1    level       score_1     score_2
   2020-02-19 12:10:52.166661    dog      n1           1           3
   2020-02-19 12:17:25.087898    dog      n1           3           6
   2020-02-19 12:34:27.624939    dog      n2           4           3
   2020-02-19 12:35:50.522116    cat      n1           2           0
   2020-02-19 12:38:49.547181    cat      n2           3           4
Run Code Online (Sandbox Code Playgroud)

对于 var1 和 level 的任何组合都应该只有一个观察结果。我想消除重复项并仅保留最近的记录。在前面的示例中,应消除第一行,因为第 2 行中的dog-n1 较新。尽管如此,即使 var1 也等于“dog”,我还是想保留第 3 行,因为级别不同。

所以,我想获得什么:

  date                         var1    level       score_1     score_2
   2020-02-19 12:17:25.087898    dog      n1           3           6
   2020-02-19 12:34:27.624939    dog      n2           4           3
   2020-02-19 12:35:50.522116    cat      n1           2           0
   2020-02-19 12:38:49.547181    cat      n2           3           4
Run Code Online (Sandbox Code Playgroud)

r duplicates

2
推荐指数
1
解决办法
1936
查看次数

标签 统计

r ×3

dplyr ×1

duplicates ×1

group-by ×1

nlp ×1

quanteda ×1

similarity ×1

summarize ×1