R - 如何 'create' 或绘制缺失数据?
R - How to 'create' or plot missing data?
我有一个数据集,AIS_dat,它查看在 Covid 锁定之前和期间一周的不同日子(天)出现在三个站点(站点)的船只数量(BoatCount)。
rm(list = ls())
setwd('K:/SoundTrap/Boats/PSD Output/Duty cycle data/TOL analysis')
getwd()
AIS_dat<-read.csv("AllSitesConcat_dBcalcs_50-24000Hz_matchedCameraCounts.csv")
str(AIS_dat)
#set factors
AIS_dat$Lockdown <- as.factor(AIS_dat$Lockdown)
#change order of sites
AIS_dat$Site<-factor(AIS_dat$Site,
level=c('Kawau','Tiritiri','Noises'))
#change order of days
AIS_dat$Day<-factor(AIS_dat$Day,
level=c('Mon','Tue','Wed','Thu','Fri','Sat','Sun'))
#hour of day as factor
AIS_dat$Hour <- as.factor(AIS_dat$Hour)
#Look at variation between sites
bp<-ggplot(AIS_dat, aes(x=Day,y=BoatCount,fill=factor(Site))) +
geom_boxplot()+
ylab(expression("Number of Boats"))+
xlab("Day of Week")+
scale_fill_manual(values = get_pal("Kereru"),
name="Site") +
theme_bw()
bp
bp<-bp+theme(axis.text.x = element_text(angle = 0,size=14),
axis.text.y = element_text(size=14),
axis.title.x = element_text(size=14),
axis.title.y =element_text(size=14),
#legend.title = element_text(size = 14),
#legend.text = element_text(size = 14)
) #rotate x-axis labels
bp<-bp+facet_grid(rows=vars(Lockdown)) #separate plot for each season
bp
情节看起来像this
...太棒了。但是,因为 'During' 下没有 Tiritiri 的数据,我们只看到两个站点,这有点误导,因为站点的顺序随后发生了变化。我希望此面板中缺少数据以明确哪个网站是哪个。我该怎么做?我是否必须以某种方式将缺失的数据添加到我的原始数据表中?我试过了,但没有用,所以如果这是最好的方法,我不确定该怎么做?
数据集看起来像 this(但有 17143 行):
您可以将 site
和 day
合并到一个用于 x 轴刻度的新列中。函数 facet
将默认以固定方式排列 x 刻度值:
library(tidyverse)
set.seed(1337)
before_data <-
tribble(
~step, ~Site,
"before", "K",
"before", "T",
"before", "N"
) %>%
mutate(
value = rnorm(10) %>% list()
) %>%
unnest(value)
during_data <-
tribble(
~step, ~Site,
"during", "K",
"during", "N"
) %>%
mutate(
value = rnorm(10) %>% list()
) %>%
unnest(value)
data <- bind_rows(before_data, during_data) %>% mutate(day = "Monday")
data %>%
mutate(x = paste0(day, Site)) %>%
ggplot(aes(x, value, color = Site)) +
geom_boxplot() +
facet_grid(~step)
由 reprex package (v2.0.1)
于 2021-09-13 创建
我有一个数据集,AIS_dat,它查看在 Covid 锁定之前和期间一周的不同日子(天)出现在三个站点(站点)的船只数量(BoatCount)。
rm(list = ls())
setwd('K:/SoundTrap/Boats/PSD Output/Duty cycle data/TOL analysis')
getwd()
AIS_dat<-read.csv("AllSitesConcat_dBcalcs_50-24000Hz_matchedCameraCounts.csv")
str(AIS_dat)
#set factors
AIS_dat$Lockdown <- as.factor(AIS_dat$Lockdown)
#change order of sites
AIS_dat$Site<-factor(AIS_dat$Site,
level=c('Kawau','Tiritiri','Noises'))
#change order of days
AIS_dat$Day<-factor(AIS_dat$Day,
level=c('Mon','Tue','Wed','Thu','Fri','Sat','Sun'))
#hour of day as factor
AIS_dat$Hour <- as.factor(AIS_dat$Hour)
#Look at variation between sites
bp<-ggplot(AIS_dat, aes(x=Day,y=BoatCount,fill=factor(Site))) +
geom_boxplot()+
ylab(expression("Number of Boats"))+
xlab("Day of Week")+
scale_fill_manual(values = get_pal("Kereru"),
name="Site") +
theme_bw()
bp
bp<-bp+theme(axis.text.x = element_text(angle = 0,size=14),
axis.text.y = element_text(size=14),
axis.title.x = element_text(size=14),
axis.title.y =element_text(size=14),
#legend.title = element_text(size = 14),
#legend.text = element_text(size = 14)
) #rotate x-axis labels
bp<-bp+facet_grid(rows=vars(Lockdown)) #separate plot for each season
bp
情节看起来像this
...太棒了。但是,因为 'During' 下没有 Tiritiri 的数据,我们只看到两个站点,这有点误导,因为站点的顺序随后发生了变化。我希望此面板中缺少数据以明确哪个网站是哪个。我该怎么做?我是否必须以某种方式将缺失的数据添加到我的原始数据表中?我试过了,但没有用,所以如果这是最好的方法,我不确定该怎么做?
数据集看起来像 this(但有 17143 行):
您可以将 site
和 day
合并到一个用于 x 轴刻度的新列中。函数 facet
将默认以固定方式排列 x 刻度值:
library(tidyverse)
set.seed(1337)
before_data <-
tribble(
~step, ~Site,
"before", "K",
"before", "T",
"before", "N"
) %>%
mutate(
value = rnorm(10) %>% list()
) %>%
unnest(value)
during_data <-
tribble(
~step, ~Site,
"during", "K",
"during", "N"
) %>%
mutate(
value = rnorm(10) %>% list()
) %>%
unnest(value)
data <- bind_rows(before_data, during_data) %>% mutate(day = "Monday")
data %>%
mutate(x = paste0(day, Site)) %>%
ggplot(aes(x, value, color = Site)) +
geom_boxplot() +
facet_grid(~step)
由 reprex package (v2.0.1)
于 2021-09-13 创建