Создайте в R столбец данных, который указывает, сколько раз было выбрано каждое значение строки - PullRequest
0 голосов
/ 03 апреля 2020

Я использую R, чтобы нарисовать случайную выборку из 24 элементов (видов) из вектора, содержащего 36 элементов. Поскольку я должен повторить этот процесс несколько раз, я хотел бы создать фрейм данных, в котором первый столбец - это название вида, а второй - счетчик количества раз, когда этот вид был отобран. Итак, в конце первой выборки у меня будет что-то вроде:

   Plot_1                      Freq
   Agrostis castellana         1
   Amaranthus hybridus         1
   Ambrosia artemisiifolia     1
   Bromus secalinus            0
   ...                         ...

Затем, после второй выборки у меня будет

   Plot_1                      Freq
   Agrostis castellana         2      #extracted both in Plot1 and Plot2
   Amaranthus hybridus         1      #extracted only in either Plot1 or Plot2
   Ambrosia artemisiifolia     1
   Bromus secalinus            0      #not extracted yet
   ...                         ...

Я посмотрел в inte rnet но я не могу найти решение :( Пожалуйста, помогите! Большое спасибо !!

1 Ответ

0 голосов
/ 03 апреля 2020

Давайте рассмотрим небольшой пример:

#convert your vector into factor
species <- factor(letters)
#Iteration 1
tab <- stack(table(sample(species, n)))

repeat_sample <- function(df, x, n) {
   tab <- stack(table(sample(x, n)))
   tab[1] <- tab[1] + df[1]
   return(tab)
}

#Iteration 2
tab <- repeat_sample(tab, species, 15)


#   values ind
#1       0   a
#2       1   b
#3       1   c
#4       0   d
#5       0   e
#6       1   f
#7       1   g
#8       2   h
#9       1   i
#10      0   j
#....

#Iteration 3
tab <- repeat_sample(tab, species, 15)

Замените species на имеющийся у вас вектор, а на 15 - количество образцов, которые вы хотите нарисовать, т.е. 24.

...