6

したがって、データポイントのベクトルが2つあり、それぞれの一意のペアのリストを、そのペアの頻度とともに作成したいと思います。テーブルを使用してベクトルの1つでこれを実行できることは知っていますが、ペアで実行する方法がわからないようです。

4

3 に答える 3

8

それはただ...

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とyだけで、テーブルのみが必要だとします。

table(x,y)
于 2012-06-21T05:35:02.043 に答える
2
# 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
于 2012-06-21T02:48:27.237 に答える
1

vec1vec2が問題のベクトルである場合:

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
于 2012-06-21T02:22:53.093 に答える