计算R中的唯一值并显示在列中 [英] Count unique values in R and display in column

查看:55
本文介绍了计算R中的唯一值并显示在列中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个数据框,我想计算A列中的唯一值并将其显示在D列中

I have this dataframe, and I would like to count the unique values in column A and display them in Column D

因此,if else函数应查看列每个新的唯一用户A和广告1

So the if else function should look at column A and ad 1 for each new unique user

> DF_Have <- data.frame(A=c(1,2,2,3,3), B=1:5*10, C=1:5*100)
> DF_Have
   A  B   C
1: 1 10 100
2: 2 20 200
3: 2 30 300
4: 3 40 400
5: 3 50 500


> DF_Want
   A  B   C   D
1: 1 10 100   1
2: 2 20 200   2
3: 2 30 300   2
4: 3 40 400   3
5: 3 50 500   3


推荐答案

library(data.table)
DF_Have$D <- rleid(DF_Have$A)
DF_Have
#  A  B   C D
#1 1 10 100 1
#2 2 20 200 2
#3 2 30 300 2
#4 3 40 400 3
#5 3 50 500 3






另一个不需要任何外部软件包的选项(提供 DF_Have $ A 已订购)

DF_Have$D <- cumsum(!duplicated(DF_Have$A))

这篇关于计算R中的唯一值并显示在列中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆