计数传染媒介在R的

时间:2017-01-29 02:33:49

标签: r

这是我的表

  

booksRead 0 1 2 3 4 5 6 7 8 9

     

频率2 4 4 8 4 5 2 4 2 1

频率是例如读过x书的学生人数。例如,8名学生上周阅读了3本书

使用

创建
> nTimes <- c(0:9)
> frequency <-c(2,4,4,8,4,5,2,4,2,1)
> xTable <- rbind(nTimes,frequency)

我想找到一种方法来获取

vectorOfCounts <- c(0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,7,7,7,7,8,8,9)

无需输入。理想情况下,我会以某种方式使用我之前创建的变量。

2 个答案:

答案 0 :(得分:2)

使用rep

数据

booksRead = c( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
frequency= c(2, 4, 4, 8, 4, 5, 2, 4, 2, 1)

<强> COMMAND

vectorOfCounts = rep(x = booksRead,times = frequency)
vectorOfCounts
# [1] 0 0 1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 6 6 7 7 7 7 8 8 9

答案 1 :(得分:-1)

您可以通过使用for循环迭代地实现它:

booksRead <- 0:9
frequency <- c(2, 4, 4, 8, 4, 5, 2, 4, 2, 1)

length(booksRead) == length(frequency) #check: TRUE required

Counts <- c() #initialize by empty vector
for(i in 1:length(booksRead)) {
  Counts <- c(Counts, rep(booksRead[i], frequency[i]))
} #update iteratively

Counts

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