我在教自己发亮,我被困在我的ggplot2图上,不能使用反应性dateRangeInput作为我的x轴。我有几个问题:
是否有一种方法可以使用我的数据框架来获取日期范围输入的min、max值,而不是硬编码它们,以便当我向数据帧添加更多的tweet时,不必每次都对值进行硬编码?
我得到了错误:Aesthetics must be either length 1 or the same as the data (33108): x, y当我尝试使用输入$date作为我的aes(x =输入$date.
library(shiny)
library(tidyr)
library(g
我有一个数据框,在应用melt函数后,它看起来类似于:
var val
1 a 0.6133426
2 a 0.9736237
3 b 0.6201497
4 b 0.3482745
5 c 0.3693730
6 c 0.3564962
..
初始数据帧有3列,其中包含列名、a、b、c及其关联值。我需要在同一张图上绘制,使用ggplot为这些列中的每一列( ecdf (a),ecdf(b),ecdf(c))绘制相关的ecdf,但我做不到。我试过了:
p<-ggplot(melt_exp,aes(melt_exp$val,ecdf,colour=melt_exp$var))
我在模特方面很新。我有三组数据(通过period),我想通过散点图上的线条来显示这些数据。
我想出了如何将我的方法和公式放在geom_smooth中,并且我能够显示一行。
但是,当我想要添加每个组的行(这可以由ggplot(.., aes(..,group = period))完成)时,我得到了一个警告:
Warning message:
Computation failed in `stat_smooth()`:
number of iterations exceeded maximum of 50
并没有显示这条线。
我的工作代码:
ggplot(tab, aes(x=distance,
我有两个数据集,称为A和B。我想比较一个称为k的公共变量的分布,它显示在两个数据集中,但长度不同(A包含2000个k值,而B包含1000个,两者都有一些N/A)。所以我想把A$k和B$k的分布画在同一张图上。 我试过了: g1 <- ggplot(A, aes(x=A$k)) + geom_density()
g2 <- ggplot(B, aes(x=B$k)) + geom_density()
g <- g1 + g2 但随后出现了错误: Don't know how to add o to a plot. 我该如何克服这个问题呢?
我对于在R中使用ggplot2相对来说还是比较新的,并且一直在与此做斗争一段时间。我已经知道了如何从图上的一个数据框架中获取所有内容(这非常容易.),以及如何编写一个循环函数将每个观察结果(下面的示例中的id)都放到他们自己的图上,而不是如何在每次运行代码时都更改id和group,从而创建具有多个group的独立图。下面是一些示例数据和我正在尝试生成的输出。
x <- c(1,3,6,12,24,48,72,1,3,6,12,24,48,72,1,3,6,12,24,48,72,1,3,6,12,24,48,72)
y <- c(8,27,67,193,271,294,300,10
当我在ggplot2图上使用时,ggplot2的一些特性会被重置。
代码示例:
library(tidyverse)
db <- iris
# Changing the N in one of the categories for the example:
db$Sepal.Length[1:40] <- NA
p <- db %>% ggplot(aes(Species, Sepal.Length)) +
geom_boxplot(varwidth = TRUE, outlier.shape = NA)
p
当使用ggplotly(p)时,varwid
我绘制了一个包含多个月度数据变量的数据(例如下面的数据)--这个数据是按月绘制的,所以数据有12行。我想把年度数据和月线上的日点画在同一张图上,但找不出答案。
library(ggplot2)
#generate monthly data
df <- data.frame(Month= seq(as.Date("2004/1/1"), by='month', length.out=12),
data = (seq(1:12)),
data2 = ((12:1)))
#melt the data tog