Ich habe eine Matrix transponiert und jetzt habe ich einen Datenrahmen, der so aussieht:
Placebo High Medium Low
<dbl> <dbl> <dbl> <dbl>
1 0.0400 NA NA NA
2 0.04 NA NA NA
3 0.0200 NA NA NA
4 0.03 NA NA NA
5 -0.00500 NA NA NA
6 0.0300 NA NA NA
7 NA -0.04 NA NA
8 NA NA 0.0100 NA
9 NA NA NA 0.0100
10 NA NA NA 0.04
Ich möchte die NAs entfernen, damit jeder Wert steigt, und ich bekomme so etwas wie:
Placebo High Medium Low
<dbl> <dbl> <dbl> <dbl>
1 0.0400 -0.04 0.0100 0.0100
2 0.04 0.04
3 0.0200
4 0.03
5 -0.00500
6 0.0300
Es macht nichts, wenn die Spalten nicht die gleiche Länge haben.
Lösung des Problems
Sie können nicht mit einem Datenrahmen enden, da Sie Spalten unterschiedlicher Länge haben. Sie müssen mit einer Liste enden, indem Sie Folgendes tun:
df <- read.table(text = "Index Placebo High Medium Low
1 0.0400 NA NA NA
2 0.04 NA NA NA
3 0.0200 NA NA NA
4 0.03 NA NA NA
5 -0.00500 NA NA NA
6 0.0300 NA NA NA
7 NA -0.04 NA NA
8 NA NA 0.0100 NA
9 NA NA NA 0.0100
10 NA NA NA 0.04 ", header = TRUE)
df["Index"] <- NULL
lapply(df, function(x) x[!is.na(x)])
# $Placebo
# [1] 0.040 0.040 0.020 0.030 -0.005 0.030
# $High
# [1] -0.04
# $Medium
# [1] 0.01
# $Low
# [1] 0.01 0.04
Keine Kommentare:
Kommentar veröffentlichen