相关疑难解决方法(0)

如何制作一个很好的R可重复的例子

在与同事讨论性能,教学,发送错误报告或在邮件列表上搜索指导时,以及在Stack Overflow上,通常会询问可重复的示例并始终提供帮助.

您有什么建议创建优秀示例的提示?如何以文本格式粘贴中的数据结构?您还应该包含哪些其他信息?

在另外还有其他招数来使用dput(),dump()structure()?你什么时候应该包括library()require()声明?其中保留字应避免一个,此外c,df,data等?

怎样才能成为一位伟大的重复的例子?

r r-faq

2474
推荐指数
23
解决办法
28万
查看次数

如何在ggplot2中获取直方图的数据标签?

下面的代码运行良好,它正确地标记了条形图,但是,如果我尝试geom_text的直方图我失败,因为geom_text需要一个y分量和直方图的y分量是从不作为代码的一部分的频率然后如何带来直方图的标签?

效果很好

 ggplot(csub, aes(x=Year, y=Anomaly10y, fill=pos)) +
        geom_bar(stat="identity", position="identity") +
        geom_text(aes(label=Anomaly10y,vjust=1.5))  
Run Code Online (Sandbox Code Playgroud)

问题 - 下面的geom_text代码中没有Y组件(用?表示)

ggplot(csub,aes(x=Anomaly10y)) + 
        geom_histogram() 
        geom_text(aes(label=?,vjust=1.5))
Run Code Online (Sandbox Code Playgroud)

默认情况下,geom需要x和y组件,

当我没有y-component时我该怎么办,因为它是由函数自动生成的?

r ggplot2

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

使用R计算热图中的箱柜数

这个问题来自以下两个主题:

如何使用stat_bin2d()来计算ggplot2中的计数标签?

如何在r中的热图单元格中显示数值单元格值

在第一个主题中,用户想要使用stat_bin2d生成热图,然后想要在热图上写入每个bin的计数.用户最初想要使用的方法不起作用,这是表明stat_bin2d设计为使用geom ="rect"而不是"text"的最佳答案.没有给出令人满意的答复.

第二个问题几乎与第一个问题相同,但有一个关键的区别,即第二个问题中的变量是文本,而不是数字.答案产生了所需的结果,将bin的计数值放在stat_2d热图中的bin上.

为了比较我准备以下代码的两种方法:

    library(ggplot2)
    data <- data.frame(x = rnorm(1000), y = rnorm(1000))
    ggplot(data, aes(x = x, y = y))
      geom_bin2d() + 
      stat_bin2d(geom="text", aes(label=..count..))
Run Code Online (Sandbox Code Playgroud)

我们知道这首先给你错误:

"错误:geom_text需要以下缺失的美学:x,y".

与第一个问题中的问题相同.有趣的是,从stat_bin2d更改为stat_binhex可以正常工作:

    library(ggplot2)
    data <- data.frame(x = rnorm(1000), y = rnorm(1000))
    ggplot(data, aes(x = x, y = y))
      geom_binhex() + 
      stat_binhex(geom="text", aes(label=..count..))
Run Code Online (Sandbox Code Playgroud)

这是伟大的,但一般来说,我不认为十六进制binning是非常清楚的,并且为了我的目的,我不会为我想要的数据工作.我真的想使用stat_2d.

为了实现这一点,我根据第二个答案准备了以下工作:

    library(ggplot2)
    data <- data.frame(x = rnorm(1000), y = rnorm(1000))
    x_t<-as.character(round(data$x,.1))
    y_t<-as.character(round(data$y,.1))
    x_x<-as.character(seq(-3,3),1)
    y_y<-as.character(seq(-3,3),1)
    data<-cbind(data,x_t,y_t)



    ggplot(data, aes(x = x_t, y = y_t)) +
      geom_bin2d() + 
      stat_bin2d(geom="text", aes(label=..count..))+
      scale_x_discrete(limits =x_x) …
Run Code Online (Sandbox Code Playgroud)

r heatmap ggplot2

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

标签 统计

r ×3

ggplot2 ×2

heatmap ×1

r-faq ×1