Ich möchte das gedruckte Ergebnis der if-Anweisung als Datenframe für die spätere Verwendung festlegen.Wie kann ich gedruckte Ergebnisse von if-Anweisungen als Datenframes speichern?
Zum Beispiel
wenn ich laufe,
for(i in 1:nrow(user)){
for(j in 1:nrow(user_info)){
if(user[i,1]==user_info[j,1])
df<-print(user_info[j,1:3])
}
}
die Konsole zeigt,
1 roles user guest
1 1 15
2 roles user guest
2 1 367
3 roles user guest
3 1 648
und wenn ich 'df' nennen es zeigt nur das letzte Ergebnis.
roles user guest
3 1 648
Wie kann ich das vollständige Ergebnis als Datenframe speichern, wenn ich 'df' so haben möchte?
roles user guest
1 1 15
2 1 367
3 1 648
Um die Frage zu klären, hier sind die Beispieldaten. habe ich versucht, alle Kommentare, aber das Problem ist nicht gelöst noch ..
user[user[,1] %in% user_info[,1], 1:3]
: Ausgang nicht mit dem erwarteten eines nicht übereinstimmt.- merge und rbind: nur eine Zeile speichern, nicht die vollständigen Daten.
Benutzer:
roles action created_at
10 1 2016-08-01
10 1 2016-08-01
1 1 2016-08-01
3 2 2016-08-01
4 1 2016-08-01
5 1 2016-08-01
5 2 2016-08-02
8 1 2016-08-02
9 1 2016-08-02
7 2 2016-08-02
user_info:
roles user guest
1 1 15
2 1 367
3 14 42
4 2 34
5 4 2
6 3 100
7 23 32
8 9 49
9 55 12
10 8 291
'user [user [1]% in% user_info [1], 1: 3]' – Roland
Es scheint nicht, wie diese Linie funktioniert ... Ist das richtig, dass ich diese ersetzen soll Zeile mit 'df <-print (user_info [j, 1: 3])'? –
@WoobinYun Sie sollten es mit Ihrem gesamten Loop-Code ersetzen. –