Как я могу сопоставить список чисел в кадре данных
Скажем, у меня есть датафрейм, где один из столбцов содержит числовые значения, которые соответствуют номеру строки другого фрейма данных. Как бы я получить имена строк в кадре данных, используя числа, содержащиеся в первом кадре данных.
Я знаю, что вы можете сделать это вручную, выполнив:
rownames_of_matrix <- rownames(second_matrix[c( 1, 2 , 3 numbers in
1st dataframe ),])
но я хотел бы знать, есть ли способ сделать это, не вставляя числа вручную, потому что это очень большой массив данных, и он будет довольно громоздким и будет большим объемом текста.
Заранее спасибо за вашу помощь
1 ответ
Решение
a= data.frame(nam=c(3,2,5,6),f=1:4,g=2:5) # 'a$nam' contains row names of df
a
nam f g
1 3 1 2
2 2 2 3
3 5 3 4
4 6 4 5
df <- data.frame(a=41:40,b=11:20,c=21:30) # 'df' data frame
df
a b c
1 41 11 21
2 40 12 22
3 41 13 23
4 40 14 24
5 41 15 25
6 40 16 26
7 41 17 27
8 40 18 28
9 41 19 29
10 40 20 30
df[a$nam,] # Extracting row names contained in 'a$nam' column in 'a' from 'df'
a b c
3 41 13 23
2 40 12 22
5 41 15 25
6 40 16 26