Tengo un marco de datos como el siguiente:
case simulation temp plank oxygen
1 1 1 8 7 11
2 2 1 16 10 15
...
17 17 2 26 12 17
18 18 2 15 8 12
19 19 2 28 11 21
20 20 2 24 6 14
Me gustaría obtener resúmenes divididos por los niveles de la variable de simulación. Por ejemplo, me gustaría la media de temp
para simulación == 1 y simulación == 2, y lo mismo para la desviación estándar.
En este momento estoy usando el siguiente código, que es bastante horrible:
df <- read.csv("data.csv")
attach(df)
# Create subset variables
temp1 = subset(temp, simulation==1)
temp2 = subset(temp, simulation==2)
plank1 = subset(plank, simulation==1)
plank2 = subset(plank, simulation==2)
oxygen1 = subset(oxygen, simulation==1)
oxygen2 = subset(oxygen, simulation==2)
print(sd(temp1))
print(sd(temp2))
print(sd(plank1))
print(sd(plank2))
Estoy seguro de que debe haber una forma automática de hacer esto en R, pero no puedo encontrarlo. He intentado usar summary(df ~ simulation)
, pero eso no produce nada útil.