Meine Frage bezieht sich auf den Operator $ für den Zugriff auf einen bestimmten Teil meines Datenrahmens.
Hier unten ist mein Datenrahmen
structure(list(Treatment = structure(c(11L, 11L, 11L, 11L, 11L,
11L), .Label = c("Chlora", "Gen", "Lin", "Metro", "Metro+Pen",
"Metro+Rif", "Metro+Rif+Pen", "Pen", "Pen+Rif", "Rif", "Untreated"
), class = "factor"), CDW = c(0.833, 0.867, 0.833, 2.7, 3.3,
3.133), Chlorophyll = c(1.098, 1.376, 1.64, 34.714, 37.773, 40.54
), EPS = c(0.092, 0.067, 0.092, 0.571, 0.591, 0.597), Day = c(0L,
0L, 0L, 10L, 10L, 10L), TreatmentDay = structure(c(21L, 21L,
21L, 22L, 22L, 22L), .Label = c("Chlora0", "Chlora10", "Gen0",
"Gen10", "Lin0", "Lin10", "Metro+Pen0", "Metro+Pen10", "Metro+Rif+Pen0",
"Metro+Rif+Pen10", "Metro+Rif0", "Metro+Rif10", "Metro0", "Metro10",
"Pen+Rif0", "Pen+Rif10", "Pen0", "Pen10", "Rif0", "Rif10", "Untreated0",
"Untreated10"), class = "factor"), richness = c(36L, 37L, 39L,
31L, 31L, 24L), shannon = c(3.35867443756547, 3.37354007038303,
3.43640985397324, 3.16018680691703, 3.15718684762791, 2.85288614815093
)), .Names = c("Treatment", "CDW", "Chlorophyll", "EPS", "Day",
"TreatmentDay", "richness", "shannon"), row.names = c("Day0F1",
"Day0F2", "Day0F3", "Day10F1", "Day10F2", "Day10F3"), class = "data.frame")
I
Unt$richness
[1] 36 37 39 31 31 24
kann aber, wenn ich einen ANOVA-Test machen will, bekomme ich eine Fehlermeldung sagen, dass ich nicht mehr als $ mit atomaren Vektoren kann
Also, ich finde es verwirrend ich kann $ Operator in atomaren Vektor in einer Instanz, aber nicht für fo verwenden r der andere. Kann jemand aushelfen?
Welche Sprache ist das? Ihre Frage benötigt mehr ** Tags **. "Betreiber" allein ist zu allgemein. –
Ein data.frame ist eine spezielle Art von Liste. Sie können dies mit 'is.list (Unt)' sehen. Eine Liste ist speziell NICHT ein atomarer Vektor. Sie können dies mit 'isatomic (Unt)' sehen. 'Unt $ fillness', der im data.frame gespeicherte Vektor ist atomar,' isatomic (Unt $ fillness) '. – lmo