У меня есть такой кадр данных:
n = c(2, 2, 3, 3, 4, 4)
n <- as.factor(n)
s = c("a", "b", "c", "d", "e", "f")
df = data.frame(n, s)
df
n s
1 2 a
2 2 b
3 3 c
4 3 d
5 4 e
6 4 f
и я хочу получить доступ к первому элементу каждого уровня моего множителя (и иметь в этом примере вектор, содержащий a, c, e
).
Можно достигнуть первого элемента одного уровня, с
df$s[df$n == 2][1]
но он не работает для всех уровней:
df$s[df$n == levels(n)]
[1] a f
Как вы это сделаете?
И чтобы идти дальше, Id хотел бы изменить свой фрейм данных, чтобы увидеть, какой из них является первым элементом для каждого уровня в каждом случае. В моем примере новый столбец должен быть:
n s rep firstelement
1 2 a a a
2 2 b c a
3 3 c e c
4 3 d a c
5 4 e c e
6 4 f e e