Это мой пример набора данных
> a
V1 V2
1 A1 5437
2 A1 5437
3 A1 5437
4 A2 1819
5 A2 1758
6 A2 1212
7 A2 1212
8 A3 1456
Я хочу вычислить уникальные значения для столбца V2, поэтому результат будет таким:
A1 1
A2 3
A3 1
Я начал писать свой код, но понятия не имею, как это должно выглядеть:
old_id <- a[1,2]
old_art <- a[2,1]
for (i in nrow(a)){
if (old_id == a[1,i+2] && old_art == a[i+2,1]){
new_id[i] <- old_id[1,i+2]
new_art[i] <- i
}
i <- i+1
}
Я знаю очень простое решение, например:
tapply(a[,2], a[,1], function(t) length(unique(t)))
но моя задача - использовать функцию цикла - возможно, для и если