我有一个庞大的数据集,包含从2010年到2019年10个水资源中的细菌样本(4种细菌)。有些值丢失了,所以我们不需要将它们包含在绘图或分析中。
我想为所有年份的每一种资源的每一种细菌绘制一个时间序列。做这件事的最好方法是什么?
library("ggplot2")
BactData= read.csv('Råvannsdata_Bergen_2010_2018a.csv', sep='\t',header=TRUE)
summary(BactData,na.rm = TRUE)
df$Date = as.Date( df$Date, '%d/%m/%Y')
#require(ggplot2)
ggplot( data = df, aes( Date,BactData$Svartediket_CB )) + geom_line()
#plot(BactData$Svartediket_CB,col='brown')
plot(BactData$Svartediket_CP,col='cyan')
plot(BactData$Svartediket_EC,col='magenta')
plot(BactData$Svartediket_IE,col='darkviolet')使用绘图并不令人满意,因为x轴只是数字,而不是日期。试着使用ggplot,但得到了错误消息。我是R的初学者。
错误消息
Error in df$Date : object of type 'closure' is not subsettable发布于 2019-11-23 13:48:50
这会起作用的
BactData = read.csv('Råvannsdata_Bergen_2010_2018a.csv', sep='\t',header=TRUE, stringsAsFactors = F)
colnames(BactData)[1] <- "Date"
library(lubridate)
BactData$Date = dmy(BactData$Date) # converts strings to date class
ggplot(data = BactData, aes(Date, Svartediket_CB )) + geom_line()

您可以使用dplyr和lubridate进行任何一年的筛选。例如,2017年:
library(dplyr)
BactData %>% filter(year(Date) == 2017) %>%
ggplot(aes(Date, Svartediket_CB )) + geom_line()

或者两年
library(dplyr)
BactData %>% filter(year(Date) == 2017 | year(Date) == 2018) %>%
ggplot(aes(Date, Svartediket_CB )) + geom_line()https://stackoverflow.com/questions/59008219
复制相似问题