首页 > 解决方案 > 如何在 R 中用特定用户标记相同的值?

问题描述

我有类似的数据框:

myData <-  "User App
            A   Wa
            A   Browsing
            A   Wa
            A   Browsing
            A   Ig
            A   Tel
            B   Youtube
            B   Ig
            B   Wa"

myData <- read.table(text = myData, header = TRUE)

对于这样的事情:

> myData

  User App       Similiar
1  A   Wa           1
2  A   Browsing     1
3  A   Wa           1
4  A   Browsing     1
5  A   Ig           0
6  A   Tel          0
7  B   Youtube      0 
8  B   Ig           0
9  B   Wa           0

问题

我想在类似的列中添加标签。如果同一个用户有相同的应用程序,它将被赋予标签1或者如果该用户没有相同的应用程序,它将被赋予标签0。例如,和用户 B 一样,用户 B 中的应用程序都是不同的,因此将其标记为 0。

关于如何做到这一点的任何想法?

提前致谢!

标签: r

解决方案


library (tidyverse)

myData %>% group_by(User, App) %>% 
mutate (Similar = ifelse(n()>1,1,0)) %>% ungroup ()

推荐阅读