У меня есть датафрейм и внешний вектор. Мне нужно посчитать повторяющиеся элементы в векторе (используя table()
я думаю). Если эти значения находятся в кадре данных, мне нужно добавить это число в отдельные столбцы. Вот пример:
set.seed(5)
df1 = data.frame(numb = runif(5),
ID = c("a1", "a2", "a3", "a4", "a5"))
numb ID
1 0.2002145 a1
2 0.6852186 a2
3 0.9168758 a3
4 0.2843995 a4
5 0.1046501 a5
# get external vector
vect1 = c("a1", "a1", "a5", "a1")
# count repetitive elements in a vector
my.tab <- table(vect1)
vect1
a1 a5
3 1
Я знаю, что могу получить доступ к элементам объекта таблицы:
# get vector of table names
names(my.tab)
[1] "a1" "a5"
# get number of repetition
as.vector(my.tab)
[1] 3 1
Но как добавить эти значения в мой data.frame с помощью значение строки ? Я думал, что что-то подобное может работать:
df1$repID <- ifelse(df1$ID %in% vect1,
if YES = add count from table,
in NOT = add 1) # or any number
Ожидаемый результат :
numb ID repID
1 0.4089769 a1 3
2 0.8830174 a2 1
3 0.9404673 a3 1
4 0.0455565 a4 1
5 0.5281055 a5 1