微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 lapply() 或 walk() 生成直方图时更改直方图中的标签

如何解决使用 lapply() 或 walk() 生成直方图时更改直方图中的标签

我正在尝试使用 lapply() 或 walk() 创建一个包含多个直方图的矩阵 - 来自 purrr 包。

这是我的数据集的捏造版本,仅包括 11 列中的 5 列和大约 100 行中的 3 列:

pid 性别 兰德 BP GH VT
1 F D 5 7 5
2 M A 6 10 5
3 F D 0 30 5

这是我正在使用的代码,我想添加一些东西来根据 i 值更改 x 标签

    x <- datf #dataframe
    u <- x[,4:11]
    par(mfrow=c(2,4)) 
        walk(x[,4:11],function(i) 
                      {hist(i[x$rand=="D"],col=rgb(0,1,0.2),main = "Histogram of score",ylim=c(0,100))
                        hist(i[x$rand=="A"],col=rgb(1,add=TRUE)})

我使用了 lapply() 而不是 walk() - 但是为了隐藏 Rmarkdown 文档中的输出而改为 walk()。

在阅读类似问题后,我尝试使用 xlab = paste(colnames(i))xlab = paste(colnames(u))Using lapply on a dataframe to create histograms with labelsLabels for histogram,when using “lapply”

xlab = paste(colnames(u)) 是最接近的,但直方图中的 x 标签不是正确的,而是所有这些的列表。 请看图片Image



但是,当我创建一个类似的直方图但直方图中只有一组数据时,即不包括 hist(i[x$rand=="A"],add=TRUE)。它工作正常。

mapply(hist,as.data.frame(x[,4:11]),main=colnames(x[,xlab="score")

我创建了一个示例数据集,它的形式看起来像我的,请参阅代码

 Library("dplyr")
    datf <- data.frame(cbind(sample(0:100,size=150,replace=T),sample(0:100,replace=T)))
    datf$rand <- sample(c("D","A"),150,replace=T,prob=c(0.45,0.45))
    datf$pid <- sample(1:150,replace=F,size=150)
    datf$gender <- sample(c("F","M"),prob=c(0.35,0.65))
    datf <- datf%>%
      rename(
        BP=X1,GH=X2,VT=X3,MH=X4,SF=X5,PF=X6,RP=X7,RE=X8
      )
    datf <- datf[,c("pid","rand","gender","BP","GH","VT","MH","PF","RP","RE","SF")]

和 dput()

structure(list(pid = c(108L,54L,75L,2L),rand = c("A","A",gender = c("M","M","F",BP = c(70L,13L,27L,66L),GH = c(2L,68L,61L,19L),VT = c(57L,30L,0L),MH = c(65L,69L,21L,47L),PF = c(100L,38L,70L,60L),RP = c(77L,59L,38L),RE = c(66L,9L,48L),SF = c(30L,74L,64L,20L
)),row.names = c(NA,4L),class = "data.frame")

这就是我希望输出的样子: See image here

使用ggplot会更容易吗? - 但那又如何?

提前致谢!

解决方法

也许这样的东西更接近你要找的东西?

path('login',views.user_login,name='login')

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?