【问题标题】:Multiple lowess lines by column category in RR中按列类别的多条低线
【发布时间】:2020-01-29 01:06:07
【问题描述】:

我正在使用 NHANES 数据集的一个子集。我已经制作了一个散点图,它在我的数据框中绘制了一列(RIAGENDR,性别- 1 是男性,2 是女性)由 WDIFF(自我报告和测量体重之间的差异。我正在尝试创建两条最低线,一条用于男性和女性。这是我的代码:

#RIAGENDR 1= MALE,RIAGENDR 2= FEMALE 
finaldf2$color[finaldf2$RIAGENDR==1]= 'red'
finaldf2$color[finaldf2$RIAGENDR==2]= 'blue'
plot(finaldf2$WDIFF~ finaldf2$BMXWT, cex=0.8,
     pch = 20,
     col=finaldf2$color, ylim=c(-10,10),
     ylab="Difference btwn measured and self reported wgt", xlab="Measured wgt(kg)",
     main= "Measured vs Self-reported wgt, by gender")
legend(180, 10, c("Men", "Women"), pch = 20, cex= 0.8, col = c("red","blue"))
lines(lowess(finaldf2$BMXWT, finaldf2$WDIFF), col=finaldf2$color, lwd=3)

从这里,我得到了这个情节:

我的问题是我想不出一种方法来为男性和女性设置不同的最低线。我已经尝试了最后一行的几个版本,但我似乎只能得到一条最低线。有没有人有从数据框的一列中的两个类别创建两条低级线的经验?谢谢!

【问题讨论】:

    标签: r plot


    【解决方案1】:

    我想出了一个答案:

    plot(finaldf$BMXWT, finaldf2$WDIFF, pch= ".", ylim= c(-10, 10),
         col = ifelse(finaldf2$RIAGENDR==1, "red", "blue"),
         xlab = "Measured weight (kg)",
         ylab = "Difference btwn self-reported vs. measured wgt",
         main = "Measured wgt vs self-reported wgt by gender")
    lines(lowess(finaldf$BMXWT[finaldf$RIAGENDR==1],
                 finaldf2$WDIFF[finaldf2$RIAGENDR==1]),
          col= "red", lwd=1)
    lines(lowess(finaldf2$BMXWT[finaldf2$RIAGENDR==2],
                 finaldf2$WDIFF[finaldf2$RIAGENDR==2]),
          col = "blue", lwd=1)
    legend(180, 10, c("Men", "Women"), pch = 20, cex= 0.8, col = c("red","blue"))     
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2018-11-20
      相关资源
      最近更新 更多