Ich habe einen Datensatz, der 9 Zeilen und 54 Spalten mit verschiedenen Nummern ist. Ich möchte die Werte aus den ersten neun Spalten in eine lange Spalte in R zusammenfassen. Dann das Gleiche für jede der folgenden 9 Spalten, bis ich nur noch 6 lange Spalten habe. Es scheint, dass dies einfach sein sollte, aber keines der ähnlichen Probleme, die ich online gefunden habe, funktioniert für meinen Datensatz.Kombinieren von Gruppen von 9 Spalten in R
-1
A
Antwort
0
Unter der Annahme, dass Sie die Variablen wollen verkettet werden, ich werde drehen 6 Variablen in 2 von 3 anstelle von 54 in 6 von 9 bis zeigen:
library(dplyr) # load package
library(tidyr) # load package
set.seed(1839) # set seed for replication
d <- tibble(x=rnorm(5), y=rnorm(5), z=rnorm(5), # create data frame
a=rnorm(5), b=rnorm(5), c=rnorm(5)) # create data frame
Datenrahmen wie folgt aussehen:
# A tibble: 5 x 6
x y z a b c
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1.0127014 -0.7025836 0.2956671 -0.3563105 1.3232985 -0.367605941
2 -0.6845605 -1.4586245 0.3016737 1.6841862 -0.6978598 1.608783979
3 0.3492607 0.1987113 -0.0945271 1.3073516 -0.3971175 -1.074255857
4 -1.6245010 1.0544690 -0.2790357 0.4352904 0.1711608 0.006136588
5 -0.5162476 -0.7112214 0.1681388 1.4536406 0.6854223 -0.442184403
nun mit der unite
Funktion:
d <- d %>% # take data frame
unite(var1, x:z, sep="; ") %>% # combine with semicolon and space in between
unite(var2, a:c, sep="; ") # combine with semicolon and space in between
und den daraus resultierenden Datenrahmen :
# A tibble: 5 x 2
var1 var2
* <chr> <chr>
1 1.01270138785465; -0.702583610804264; 0.295667113228807 -0.356310525447978; 1.3232984913192; -0.367605940884135
2 -0.684560547695866; -1.45862451298252; 0.301673721520136 1.68418623459335; -0.697859769158927; 1.60878397933222
3 0.349260666732972; 0.198711282685719; -0.0945271007709923 1.3073516257469; -0.397117503476358; -1.07425585717004
4 -1.62450101506933; 1.05446901501249; -0.279035672484018 0.435290405700962; 0.171160804752516; 0.00613658799909723
5 -0.516247631722097; -0.711221362746118; 0.168138783952361 1.45364055160547; 0.685422280037675; -0.442184403125297
1
Versuchen Sie es. Angenommen, Ihre data.frame
ist df
:
as.data.frame(matrix(unlist(df),ncol=6))
Verwandte Themen
- 1. Kombinieren mehrerer Spalten in R
- 2. Sammeln Sie mehrere Gruppen von Spalten in R
- 3. SAVE-Gruppen Clustering von r
- 4. R: Kombinieren Sie Gruppen mit überlappenden Elementen
- 5. Kombinieren von Daten mit R
- 6. Kombinieren von Spalten in Makro
- 7. Kombinieren von Capture-Gruppen, verschiedene Match-Nummern
- 8. Kombinieren von zwei Spalten
- 9. VBA: Die Kombination von zwei Gruppen von Spalten dynamisch
- 10. Summe der Werte von Gruppen von 4 zusammenhängenden Spalten in R
- 11. Kombinieren von Spalten mit Pandas
- 12. r zählen Kombinationen von Elementen in Gruppen
- 13. Kombinieren von zwei Spalten in einem Datenframe
- 14. Kombinieren von aggregierten Spalten in einzelne Tabelle
- 15. R (dplyr, tidyr): kombinieren/aggregieren verwandte Spalten
- 16. Kombinationen von Spalten und Produkt in R
- 17. kombinieren Objekte von Datenrahmen in r
- 18. Kombinieren Sie zwei identische Datenrahmen Spalten in Komma getrennten Spalten in R
- 19. Kombinieren Datenrahmen Zeilen in R basierend auf mehreren Spalten
- 20. Kombinieren von zwei Gruppen zu einer in Regex
- 21. Wie Gruppen von Zeilen zu Spalten transponieren
- 22. Wie transformiert man einen Dataframe von Gruppen in Spalten?
- 23. Pivot Gruppen von Zeilendaten in Spalten mit Pandas
- 24. zusammenzufassen alle numerischen Spalten von Datenrahmen von Gruppe in R
- 25. Kombinieren/Stapeln von Spalten von Select Ergebnis in MySQL
- 26. gleichen Namen Spalten Kombinieren und Johansen Test in R
- 27. Gruppen von Spalten innerhalb eines Pandas Datareframe summieren
- 28. Kombinieren von Matrizen zu einem Array in R
- 29. Kombinieren von numerischen Spalten mit Datenrahmen
- 30. Kombinieren von zwei Datenrahmen mit neuen Spalten
Wie genau sollten die Spalten _combined_? – bouncyball
Und wie genau sieht Ihr Datensatz aus? Vielleicht können Sie hier eine kleine Teilmenge Ihrer Daten mit 'dput (yourdatasetname)' einfügen –