从R中的样本计算计数向量

时间:2013-03-10 19:17:26

标签: arrays r counter

我有一个需要填充的一维计数向量,称为count.array。我生成sample.array(可以比count数组更短或更长)但是每个元素都在count数组的适当索引中。 R中最好的方法是总结每个元素出现的次数并将它们放入计数数组中。

我意识到我可以用一个for循环来做这个(通过sample.array,读取值,在索引中加1)但是也许有更聪明的R方式来做它?

这是一个有效的例子:

count.array <- matrix(data = 0, nrow = 1, ncol = 10)
sample.array <- matrix(data = c(5,2,4,5,2,4,3,4), nrow = 1, ncol =8)

count.array[1,2] <- 2
count.array[1,3] <- 1
count.array[1,4] <- 3
count.array[1,5] <- 2

count.array

1 个答案:

答案 0 :(得分:6)

您可以使用table

freq <- table(sample.array)

# sample.array
# 2 3 4 5  <~~ names (use it for indexing)
# 2 1 3 2  <~~ frequency (the values of your count.array)

count.array[1, as.numeric(names(freq))] <- freq

#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,]    0    2    1    3    2    0    0    0    0     0