各值多少我有两个向量:如何找到唯一值的矢量从另一个缩放的矢量
x <- c(1,5,3,2,3, 4,1,2,3,4, 10,5,2,10,12)
y <- c(1,1,2,2,2, 3,3,1,4,4, 4,5,5,4,4)
我怎样才能找到独特的编号,从X从Y分别号码是多少?
我知道如何找到非唯一号码的数量从X对Y的每个号码:
r=aggregate(x ~ y , data= data, FUN=length)
各值多少我有两个向量:如何找到唯一值的矢量从另一个缩放的矢量
x <- c(1,5,3,2,3, 4,1,2,3,4, 10,5,2,10,12)
y <- c(1,1,2,2,2, 3,3,1,4,4, 4,5,5,4,4)
我怎样才能找到独特的编号,从X从Y分别号码是多少?
我知道如何找到非唯一号码的数量从X对Y的每个号码:
r=aggregate(x ~ y , data= data, FUN=length)
使用data.table
,这是很容易的:
require(data.table)
DT = data.table(x,y)
unique(DT, by=c("x", "y"))[, .N, by=y]
# y N
# 1: 1 3
# 2: 2 2
# 3: 3 2
# 4: 4 4
# 5: 5 2
你可以做到这一点王氏dplyr
这样:
data.frame(x,y) %>%
group_by(y) %>%
summarize(nb=length(unique(x)))
其中给出:
y nb
1 1 3
2 2 2
3 3 2
4 4 4
5 5 2
你可以这样做:
rowSums(!!table(y,x))
# 1 2 3 4 5
# 3 2 2 4 2
谢谢!伟大的方法。 – user45415631
有点不同的问题:如何从y向量中为每个值找到1s,2s的数目? – user45415631
@ user45415631'DT [,.N,keyby = list(y,x)]'? Arun - 在那个'unique'中指定'by'的意义何在? – eddi