Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 直方图显示';它是按日期订购的_R_Histogram - Fatal编程技术网

R 直方图显示';它是按日期订购的

R 直方图显示';它是按日期订购的,r,histogram,R,Histogram,我有一个名为stepsperday的数据集 head(stepsperday) 给予 基本上,它有30天的数据,我想用它做一个柱状图 但是,使用qplot(stepsperday,geom=“histogram”) `stat_bin()` using `bins = 30`. Pick better value with `binwidth` 引入bins=30并不能解决这个问题,我不确定是否能让它与ggplot一起工作。 使用名称更改日期(stepsperday)我想你应该制作柱状图,而

我有一个名为
stepsperday
的数据集

head(stepsperday)
给予

基本上,它有30天的数据,我想用它做一个柱状图

但是,使用
qplot(stepsperday,geom=“histogram”)

`stat_bin()` using `bins = 30`. Pick better value with `binwidth`
引入
bins=30
并不能解决这个问题,我不确定是否能让它与ggplot一起工作。
使用
名称更改日期(stepsperday)我想你应该制作柱状图,而不是柱状图。柱状图总结了单个连续变量的分布,而柱状图显示了连续变量和分类变量之间的关系,这里是步骤和时间(天)

从您发布的输出来看,
stepsperday
似乎是一个
zoo
对象,而不是数据帧中的列,
ggplot2
设计用于处理数据帧(或TIBLES)。如果这是正确的,那么您需要将其转换为数据帧,然后生成绘图。比如:

library(tidyverse)
library(zoo)
library(lubridate)

# make example zoo object to test
set.seed(123)
stepsperday <- zoo::zoo(rpois(30, lambda = 10000),
                        order.by = seq(from = lubridate::date("2020-01-01"),
                                       to = lubridate::date("2020-01-01") + 29,
                                       by = "day"))

stepsperday %>%
  # convert zoo object to data frame with date as a column
  data.frame(date = zoo::index(.), steps = .) %>%
  ggplot(aes(x = date, y = steps)) +
    geom_col()
库(tidyverse)
图书馆(动物园)
图书馆(lubridate)
#举例说明要测试的对象
种子集(123)
stepsperday%
#将zoo对象转换为以日期为列的数据框
data.frame(日期=zoo::索引(.),步骤=.)%>%
ggplot(aes(x=日期,y=步数))+
geom_col()
以下是它产生的结果:


您需要的是柱状图,而不是直方图。请参见
geom\u col
。直方图总结了单个变量的分布。柱状图显示了两个变量之间的关系,这里是步骤和时间。您可以通过执行
dput(stepsperday)
提供一个可复制的示例吗?很抱歉,什么是dput?它是base R中的一个函数,输出对象的表示形式,我们可以复制/粘贴以重新创建该对象。有关如何为堆栈溢出创建最小可复制示例的指导,请参阅和。
library(tidyverse)
library(zoo)
library(lubridate)

# make example zoo object to test
set.seed(123)
stepsperday <- zoo::zoo(rpois(30, lambda = 10000),
                        order.by = seq(from = lubridate::date("2020-01-01"),
                                       to = lubridate::date("2020-01-01") + 29,
                                       by = "day"))

stepsperday %>%
  # convert zoo object to data frame with date as a column
  data.frame(date = zoo::index(.), steps = .) %>%
  ggplot(aes(x = date, y = steps)) +
    geom_col()