重新缩放矢量R.
发布时间:2020-12-15 04:59:16 所属栏目:Java 来源:网络整理
导读:假设我有一个整数向量,例如: x[1] 1 1 1 4 4 13 13 14 我正在寻找一种有效的方法在R中将向量重新调整为整数1到唯一元素数的最大值.因此得到的矢量将是: 1 1 1 2 2 3 3 4 看起来像一个简单的问题,但我找不到一个有效的方法来做到这一点.实际上,这个向量很大
假设我有一个整数向量,例如:
> x [1] 1 1 1 4 4 13 13 14 我正在寻找一种有效的方法在R中将向量重新调整为整数1到唯一元素数的最大值.因此得到的矢量将是: 1 1 1 2 2 3 3 4 看起来像一个简单的问题,但我找不到一个有效的方法来做到这一点.实际上,这个向量很大(大约500). 解决方法
尝试匹配(x,sort(unique(x))):
x <- sample(1:50,1e6,replace = TRUE) benchmark(as.integer(factor(x)),match(x,sort(unique(x))),replications = 20,columns = c("test","elapsed","relative")) # test elapsed relative # 1 as.integer(factor(x)) 18.44 10.36 # 2 match(x,sort(unique(x))) 1.78 1.00 identical(as.integer(factor(x)),sort(unique(x)))) # [1] TRUE (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |