相关疑难解决方法(0)

R cumunique喜欢cumsum

我想要一个与cumsum等效的函数,但不是加起来它计算到目前为止唯一值的数量.我可以为每个潜在的集合编写一个循环,但由于我的数据集有数百万的观察结果,这似乎会耗费时间.

例:

a <- c(1,3,2,4,1,5,2,3)
f(a)
[1] 1 2 3 4 4 5 5 5
Run Code Online (Sandbox Code Playgroud)

r cumsum

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

直到当前行的列中的累积唯一值的数量

我有一个数据框donorInfo,有捐赠者信息:

id        giftdate     giftamt
002       2001-01-05     25.00
033       2001-05-08     50.00
054       2001-09-22    125.00
125       2001-11-05     40.00
042       2001-12-04     75.00
...           ...         ...
Run Code Online (Sandbox Code Playgroud)

我想创建一个列,显示截至该日期的唯一捐赠者ID的累计数量.我认为它是这样的:

donorInfo$numUnique <- apply/lapply (donorInfo, 1, FUN=nrow(unique(donorInfo$id)))
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,我想知道如何补救.谢谢你的任何建议.

r apply

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

按唯一元素对值进行分组

我有一个看起来像这样的矢量:

a <- c("A110","A110","A110","B220","B220","C330","D440","D440","D440","D440","D440","D440","E550")
Run Code Online (Sandbox Code Playgroud)

我想创建另一个基于a的另一个向量,它看起来像:

b <- c(1,1,1,2,2,2,3,4,4,4,4,4,4,5)
Run Code Online (Sandbox Code Playgroud)

换句话说,b应该为a的每个不同元素分配一个值(从1开始).

r

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

标签 统计

r ×3

apply ×1

cumsum ×1