[英]How can I identify and count unique pairs at every level in a list of lists in R?
[英]How can I make a list of all the unique pairs of data points in R?
所以我有兩個數據點向量,我想列出每個唯一對的列表,以及該對的頻率。 我知道我可以使用表格用其中一個向量來做這個,但我似乎無法弄清楚如何用對來做它。
只是...
dat <- data.frame(x = sample(letters[1:3], size = 100, replace = TRUE),
y = sample(letters[1:3], size = 100, replace = TRUE) )
unique(dat)
table(dat)
或者,說你的向量只是x,而你只需要表...
table(x,y)
# A sample dataset:
dat <- data.frame(x = sample(letters, size = 1000, replace = TRUE),
y = sample(letters, size = 1000, replace = TRUE)
)
# Aggregating using just base R:
as.data.frame(table(dat$x, dat$y))
# With plyr
library(plyr)
count(dat, vars = c(x, y))
count(dat) # Or, less generalizably
如果vec1
和vec2
是有問題的向量:
points <- mapply(c, vec1, vec2, SIMPLIFY=FALSE)
uniq.points <- unique(points)
freqs <- sapply(uniq.points, FUN=function(point) length(which(points %in% list(point))))
cbind(do.call(rbind, uniq.points), freqs) # matrix of points and freqs
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.