小编stu*_*ngr的帖子

强制ggplot来评估计数器变量

关于如何/何时在ggplot结构中评估变量,我遇到了一个有趣的问题.

我能想到的最简单的例子就是以下(它应该将点1到10放在一个图上):

df=data.frame(x=1:10,y=1:10)
panel=ggplot() + xlim(-1,11) + ylim(-1,11)
for (i in c(1:10)) {
    panel=panel+geom_point(aes(x=df$x[i],y=df$y[i]))
}
print(panel)
Run Code Online (Sandbox Code Playgroud)

这将生成一个曲线图与一个点,即,一个用于I = 10 如果我给的另一值(在〜10范围为1),并重复该 打印(面板)命令则该特定点将被绘出.

如果我按< - c(1:10),然后是print(面板),那么所有十个点都将被绘制,就像我发布了矢量化版本一样:

ggplot(aes(x=x,y=x),data=df)+geom_point()
Run Code Online (Sandbox Code Playgroud)

在我看来,这里只在发出print(panel)命令时进行评估.

我在一个非常复杂的情节中遇到了这个问题,在循环遍历列表的元素,而矢量化版本并不实用.

所以,她的问题是:有没有办法强制ggplot为循环中的每一步评估i

r ggplot2

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

ggplot2 geom_bar位置失败

我正在使用..count..转换,geom_bar并且当我的某些类别计数较少时,得到警告 position_stack要求不重叠x间隔

最好使用一些模拟数据来解释(我的数据涉及方向和风速,我保留与此相关的名称)

#make data
set.seed(12345)
FF=rweibull(100,1.7,1)*20  #mock speeds
FF[FF>60]=59
dir=sample.int(10,size=100,replace=TRUE) # mock directions

#group into speed classes
FFcut=cut(FF,breaks=seq(0,60,by=20),ordered_result=TRUE,right=FALSE,drop=FALSE)

# stuff into data frame & plot
df=data.frame(dir=dir,grp=FFcut)
ggplot(data=df,aes(x=dir,y=(..count..)/sum(..count..),fill=grp)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)

这可以很好地工作,并且结果图显示了根据速度分组的方向频率。与此相关的是,计数最少的速度类(此处为“ [40,60]”)将有5个计数。 三个类别,每个类别的大小为20

但是,更多的速度等级会导致警告。例如,

FFcut=cut(FF,breaks=seq(0,60,by=15),ordered_result=TRUE,right=FALSE,drop=FALSE)
Run Code Online (Sandbox Code Playgroud)

计数最少的速度类(现在为[[45,60)“)将只有3个计数,并且ggplot2会警告

position_stack需要不重叠的x间隔

并且该图将显示沿x轴分布的该类别的数据。 四个类别,每个类别的大小为15。 现在,最后一个包含三个元素的元素未添加到相应栏的顶部 似乎5是一个小组要正常工作的最小人数。

我很高兴知道这是stat_bingeom_bar正在使用的)功能或错误,还是我只是在滥用geom_bar

此外,任何建议如何解决此问题将不胜感激。

真诚的

r histogram stacked ggplot2

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

如何使用ggplot2绘制NA间隙

在R中的基本绘图中,如果数据系列ggplot2中存在NA,则将绘制间隙:

举个例子看:

df=data.frame(x=c(1:10),y=c(1:10))
df[5:7,]=NA
plot(df,type="l")
Run Code Online (Sandbox Code Playgroud)

但是,ggplot2会删除缺失值并绘制一条没有间隙的直线.

ggplot(data=df,aes(x,y))+geom_line()
Run Code Online (Sandbox Code Playgroud)

我想保持差距.它们是我正在使用的数据中的重要信息.有没有一种简单的方法告诉ggplot2停止忽略差距?

r ggplot2

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

R - devtools Github安装失败

尝试使用Hadleys devtools包我收到了一个认证错误:

install_github("devtools")
Installing github repo(s) devtools/master from hadley
Installing devtools.zip from https://github.com/hadley/devtools/archive/master.zip
  Error in function (type, msg, asError = TRUE)  : 
  Peer certificate cannot be authenticated with given CA certificates
Run Code Online (Sandbox Code Playgroud)

谷歌搜索告诉我这是一个卷曲问题.我不近了.从命令行使用"git"我可以从github中获取我想要的任何内容, - 我没有收到此错误.它只在我尝试从R连接到github时出现

我使用的是ubuntu 12.10,libcurl 7.22.0和R 3.0

有谁知道如何解决这个问题?

真诚的H.

curl r github

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

标签 统计

r ×4

ggplot2 ×3

curl ×1

github ×1

histogram ×1

stacked ×1