簡體   English   中英

在 R 代碼中,我應該如何獲得均值和標准差取決於“日”和“類別”列而不手動過濾

[英]How I should get mean and standard deviation depens on "Day" and "Category" columns without filtering manually in the R code

我在過濾 R 控制台中的以下列時得到平均值和標准偏差,但是如果不過濾列“日”和“類別”而不在代碼中手動過濾,我應該如何獲得平均值和標准差,結果應該打印在同一個 CSV 本身。

代碼應自動創建依賴列過濾器,如下所示,並在相同的 CSV 中打印結果:

mean_Day1_Category_a, SD_Day1_Category_a,
mean_Day4_Category_b, SD_Day4_Category_b, etc...

數據

Sex F_category        Value Day category
M   Food              25.6  1   a
M   Water             22    2   a
M   Food              22    11  a
M   Food             24.3   4   b
M   Food              24    5   b
F   Water            2.03   10  b

代碼

library(dplyr)
library(plyr)
library(doBy)
data <- read.csv("C:/Users/food.csv")
print(data)

data_male<- data %>% 
  filter(sex == "M")%>%
  filter(Day == 1)%>%
  filter(F_Category =="FC")%>%
  filter(Category =="a")

data_male

sd(data_male$value)
mean(data_male$value)

您必須按日期和類別對數據進行分組,而不是過濾。

data_male %>% group_by(Day, Category) %>% summarise(avg_val = mean(Value), std_val = std(Value))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM