小编Rez*_*mad的帖子

如何解决此错误:尝试在没有维度的对象上设置“rownames”

我有一个包含每日流量的 csv 文件。我需要将每日值合并到每月中。我正在尝试使用“HydroTSM”包的“daily2monthly”功能。BRPT2.csv 中的示例数据:

_date,_time,_value,_flag
 10/2/1959,0:00:00,0,2
 10/3/1959,0:00:00,0,2
 10/4/1959,0:00:00,1540,2
 10/5/1959,0:00:00,16100,2
 10/6/1959,0:00:00,6680,2
 10/7/1959,0:00:00,3100,2
 10/8/1959,0:00:00,2060,2
Run Code Online (Sandbox Code Playgroud)

我使用了以下命令:

qme<- read.csv(file = "BRPT2.csv",header = T,sep = ",") #read in csv file
date<- as.Date(qme$X_date,format("%Y-%m-%d")) #convert date column to date format from factor
flow<- qme[,3]
flow_2<-replace(flow,flow==-999,0) #replace the missing values (-999) with 0
df<- data.frame()
df<- rbind(df,data.frame(date,flow_2,stringsAsFactors = FALSE))
daily2monthly(df,FUN=sum,dates=1)
Run Code Online (Sandbox Code Playgroud)

它给出以下错误消息:

rownames<-( , value = c("Oct-1959", "Nov-1959", "Dec-1959",中的错误*tmp*:尝试在没有维度的对象上设置 'rownames'

有人可以帮我解决这个问题吗?提前致谢。

r hydrotsm

4
推荐指数
1
解决办法
2万
查看次数

如何使用 ggplot2 在箱线图中添加一条线

我正在尝试用一些预测数据绘制箱线图。并希望将观察结果作为一条线添加到图中。我在这里生成了一个数据样本,以便您可以了解它的样子。

$forecasts<- data.frame(f_type=c(rep("A",9),rep("B",9)),Date=c(rep(as.Date("2007-01-31"),3),rep(as.Date("2007-02-28"),3),rep(as.Date("2007-03-31"),3),rep(as.Date("2007-01-31"),3),rep(as.Date("2007-02-28"),3),rep(as.Date("2007-03-31"),3)),value=c(10,50,60,05,90,20,30,46,39,69,82,48,65,99,75,15,49,27))

$observation<- data.frame(Dt=c(as.Date("2007-01-31"),as.Date("2007-02-28"),as.Date("2007-03-31")),obs=c(30,49,57))

通过预测,我可以使用 ggplot2 绘制箱线图和须线图,如下所示。

$p<- ggplot(data = forecasts, aes(x=as.factor(Date), y=value)) p<- p + geom_boxplot(aes(fill=f_type))

现在我想将这些日期的观察结果作为一条线添加到该图中。到目前为止,我已经尝试了以下方法:

  1. $p<- p + geom_line(data = observation,aes(x=Dt,y=obs))。这给出了一个错误:

    错误:输入无效:date_trans 仅适用于 Date 类的对象

  2. 将 x 轴作为这样的因子: $p<- p + geom_line(data = observation,aes(x=as.factor(Dt),y=obs))为此我收到以下错误:

    geom_path:每组仅包含一个观察值。群体审美需要调整吗?

谁能建议我如何实现这一目标?提前致谢。

r date ggplot2

3
推荐指数
1
解决办法
2万
查看次数

Boxplot与ggplot2

我正在研究一个带有预测和观测的箱线图,这是一个非常长的数据集.我在这里提供样本格式.

> forecasts <- data.frame(f_type = c(rep("A", 9), rep("B", 9)), 
                          Date = c(rep(as.Date("2007-01-31"),3), rep(as.Date("2007-02-28"), 3), rep(as.Date("2007-03-31"), 3), rep(as.Date("2007-01-31"), 3), rep(as.Date("2007-02-28"), 3), rep(as.Date("2007-03-31"), 3)), 
                          value = c(10, 50, 60, 05, 90, 20, 30, 46, 39, 69, 82, 48, 65, 99, 75, 15 ,49, 27))
> 
> observation <- data.frame(Dt = c(as.Date("2007-01-31"), as.Date("2007-02-28"), as.Date("2007-03-31")), 
                            obs = c(30,49,57))
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

ggplot() + 
    geom_boxplot(data = forecasts,
                 aes(x = as.factor(Date), y = value, 
                     group = interaction(Date, f_type), fill = f_type)) +  
    geom_line(data = observations,
              aes(x = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 boxplot

2
推荐指数
1
解决办法
263
查看次数

标签 统计

r ×3

ggplot2 ×2

boxplot ×1

date ×1

hydrotsm ×1