2016-04-10 12 views
0

Angenommen, ich habe ein Datenframe von wo eine der Spalten numerische Werte enthält, die der Reihennummer eines anderen Datenrahmens entsprechen. Wie würde ich die Zeilennamen des Datenrahmens unter Verwendung der Zahlen erhalten, die in dem ersten Datenrahmen enthalten sind.Wie könnte ich eine Liste von Zahlen in einem Datenrahmen übereinstimmen

Ich weiß, dass Sie dies, indem Sie manuell tun könnte:

rownames_of_matrix <- rownames(second_matrix[c(1, 2 , 3 numbers in 
               1st dataframe),]) 

aber ich würde gerne wissen, ob es einen Weg gibt ich das tun kann, ohne manuell die Zahlen über das Einfügen, weil es eine sehr große Datenrahmen ist, und es wäre ziemlich umständlich und ein großer Brocken Text.

Vielen Dank im Voraus für Ihre Hilfe

+0

verwenden 'second_matrix [first_matrix [Spalte]]', wobei 'column' ist der Spaltenname/Zahl, die die Daten enthält –

Antwort

0
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 
+0

Sie Vielleicht danken Keine Ahnung, warum das nicht in den Sinn kam. – TW93