Ich habe diesen kleinen Datenrahmen und ich möchte Varianz zu mittlerem Verhältnis nur für Spalten berechnen, die mit "pH" beginnt. Allerdings bekomme ich immer einen Fehler oder es sind keine Daten in meinem df. dplyr - Spalte auswählen und mutieren zeilenweise
Dies ist ein Fragment meiner df:
structure(list(late3 = c(0.7483625122, 2.06159903455556, 5.51901195,
8.9179448864, 0.8, 1.50696746144444, 5.7772405045, 7.9769193326
), stat1 = c(0.5979697884, 2.48463623511111, 4.271194605, 9.8042514624,
0.645918422, 1.90693607733333, 4.163386649, 8.9190734296), stat2 = c(0.5826497438,
2.41381599011111, 4.215824286, 10.0134923302, 0.6660349276, 1.88416016688889,
4.17078795966667, 8.8887976216), stat3 = c(0.679208581, 2.42142600066667,
4.32934937416667, 9.7670053704, 0.6713715604, 1.98269838811111,
4.22673996316667, 8.6933049124), `pH 5.5 1` = c(0.8633101712,
2.37037570888889, 5.163553087, 8.6737498488, 0.7951642852, 1.97566951377778,
5.058281295, 7.0284232742), `pH 5.5 2` = c(0.7494364612, 2.44983807444444,
5.187655831, 8.6156680094, 0.7246688042, 1.86028079688889, 5.38419989616667,
7.2673110024), `pH 5.5 3` = c(0.785292152, 2.51608928688889,
5.25958631366667, 8.3742435552, 0.736008492, 1.86536765022222,
5.13140668533333, 7.2293598964), `pH 6 1` = c(0.7673117012, 2.41111291655556,
5.39576283616667, 8.4177696464, 0.8675690952, 1.95317716488889,
5.4618195255, 7.386733779)), .Names = c("late3", "stat1", "stat2",
"stat3", "pH 5.5 1", "pH 5.5 2", "pH 5.5 3", "pH 6 1"), class = "data.frame", row.names = c("CL_SHC",
"PC_SHC", "PE_SHC", "PG_SHC", "CL_WT", "PC_WT", "PE_WT", "PG_WT"
))
Wenn ich verwende:
test <- test %>% select(starts_with("pH")) %>% mutate(funs(vmr = var(.)/mean(.)))
Nichts in meinem df erscheinen. Als ich mutate_at verwende habe ich einen Fehler:
Error in check_dot_cols(.vars, .cols) : argument ".vars" is missing, with no default
Ich mag wäre eine weitere Spalte mit VMR berechnet haben. Vielleicht hat jemand eine Idee, wie es geht?
Best, Magda
danke für die Antwort! Es funktioniert, aber was ich brauche, ist eine zusätzliche Spalte im Testdatenframe namens "vmr_ph", wo ich das Varianzmittelverhältnis für jede Zeile berechnet habe. Weißt du, wie man es macht? – magruc
@magruc Bitte überprüfen Sie die aktualisierte Antwort – akrun