Это должно быть просто, но я бьюсь головой об это некоторое время. Пожалуйста помоги. У меня есть большой набор данных, из которого я получаю все виды информации через table (). Затем я хочу сохранить эти подсчеты с именами строк, которые были подсчитаны. Для воспроизводимого примера рассмотрим
a <- c("a", "b", "c", "d", "a", "b") # one count, occurring twice for a and
# b and once for c and d
b <- c("a", "c") # a completly different property from the dataset
# occurring once for a and c
x <- table(a)
y <- table(b) # so now x and y hold the information I seek
Как мне слить / связать / что-нибудь, чтобы получить из x и y в эту форму:
x. y.
a 2. 1
b 2. 0
c 1. 1
d. 1 0
ОДНАКО, мне нужно использовать решение для работать итеративно, в al oop, который принимает x и y и получает запрошенную форму выше, а затем добавляет дополнительные таблицы, каждая из которых, надеюсь, добавляет столбец. Одна из моих многочисленных неудачных попыток, просто чтобы показать мои (вероятно, ошибочные) логи c, такова:
member <- function (data = dfm, groupvar = 'group', analysis = kc15) {
res<-matrix(NA,ncol=length(analysis$size)+1) #preparing an object for the results
res[,1]<-table(docvars(data,groupvar)) #getting names and totals of groups
for (i in 1:length(analysis$size)) { #getting a bunch of counts that I care about
r<-table(docvars(data,groupvar)[analysis$cluster==i])
res<-cbind(res,r) #here's the problem, trying to add each new count as a column.
}
res
}
Итак, подведя итог, приведенный выше воспроизводимый пример означает, что реплицируется первый столбец в res и r, и я ищу (я думаю) правильное решение вместо cbind, которое позволило бы добавлять столбцы различной длины, но с похожими именами, как в примере выше. Пожалуйста, помогите мне смущать, сколько времени я трачу на это