【发布时间】:2021-08-26 18:34:36
【问题描述】:
我将在下面插入两个代码,第一个代码生成一个散点图,其中考虑了我数据库中选择的日期 (date2)。下载数据库的链接是:https://docs.google.com/spreadsheets/d/1W_hzuRq7D6X12BdwaXeM-cjg2A5MIKDx/edit?usp=sharing&ouid=102073768617937039119&rtpof=true&sd=true。无论如何,我将在此消息的末尾插入我的数据库图像。
第二个代码用于计算同一数据库的均值和标准差。在这种情况下,他们会考虑星期几(Week)。您将在代码 2 中看到,为了计算均值和标准差,我输入了 i,因此如果 i=3,则表示星期六。
但是,我想在我的散点图中插入两条水平线:一条均值和另一条均值+标准差,即在代码 1 中。因此,例如,如果我选择 2021 年 10 月 4 日,它将生成一个散点图,但它也会插入我提到的两条线(平均值和平均值+标准差)对应于所选的一周中的一天,在这种情况下是星期六。如果我选择 2021 年 9 月 4 日这一天,它将生成散点图和星期五的线条。
感谢您的帮助!
非常感谢!
Muito obrigado!
第一个代码
library(dplyr)
library(ggplot2)
library(tidyr)
library(lubridate)
df<-read_excel('C:/Users/Downloads/database_test.xlsx')
#create scatter plot
scatter_date <- function(dt, dta = df) {
dta %>%
filter(date2 == ymd(dt)) %>%
summarize(across(starts_with("DR"), sum)) %>%
pivot_longer(everything(), names_pattern = "DR(.+)", values_to = "val") %>%
mutate(name = as.numeric(name)) %>%
plot(xlab = "Days", ylab = "Types", xlim = c(0, 7))
}
scatter_date("2021-04-10",df)
二码
#calculation of mean and standard deviation
df<-subset(df,df$date2<df$date1)
dim_data<-dim(df)
day<-c(seq.Date(from = as.Date(df$date2[1]),
to = as.Date(df$date2[dim_data[1]]),
by = "1 day"))
df_grouped<-matrix(nrow = 9,ncol=6)
colnames(df_grouped)<-c("Id","date1","date2","Week","D","D1")
df_grouped <- df %>%
mutate(across(starts_with("date"), as.Date)) %>%
group_by(date2) %>%
summarise(Id = first(Id),
date1 = first(date1),
Week = first(Week),
D = first(D),
D1 = sum(D1)) %>%
select(Id,date1,date2,Week,D,D1)
df_grouped <- df_grouped %>% mutate(date1=format(date1,"%d/%m/%Y"),
date2=format(date2,"%d/%m/%Y"))
df_grouped<-data.frame(df_grouped)
DS=c("Thursday","Friday","Saturday")
i<-3
df_OC<-subset(df_grouped,is.na(D))
ds_OC<-subset(df_OC,df_OC$Week==DS[i])
mean_Week<-mean(as.numeric(ds_OC[,"D1"]) )
mean_Week
[1] 19
sdeviation_Week<-sd(as.numeric(ds_OC[,"D1"]))
sdeviation_Week
[1] 7.071068
【问题讨论】:
标签: r