return 具有每个值的位置出现的向量的 R 函数?
R function that return a vector with position occurence of each value?
我正在搜索一个函数,该函数 return 一个向量,其中每个向量值的 position/count。
举个例子:
我有:
vec<-c("A","A","A","B","B","C")
我要:
c(1,2,3,1,2,1)
我创建了一个有效的函数,但我正在寻找一种更快的方法来获取它,因为我有一个大数据集。
非常感谢您
一种方法是在 base R 中使用 ave
:
vec<-c("A","A","A","B","B","C")
result <- as.integer(ave(vec, vec, FUN = seq_along))
result
[1] 1 2 3 1 2 1
我们可以使用 rowid
来自 data.table
library(data.table)
rowid(vec)
#[1] 1 2 3 1 2 1
我正在搜索一个函数,该函数 return 一个向量,其中每个向量值的 position/count。
举个例子:
我有:
vec<-c("A","A","A","B","B","C")
我要:
c(1,2,3,1,2,1)
我创建了一个有效的函数,但我正在寻找一种更快的方法来获取它,因为我有一个大数据集。
非常感谢您
一种方法是在 base R 中使用 ave
:
vec<-c("A","A","A","B","B","C")
result <- as.integer(ave(vec, vec, FUN = seq_along))
result
[1] 1 2 3 1 2 1
我们可以使用 rowid
来自 data.table
library(data.table)
rowid(vec)
#[1] 1 2 3 1 2 1