【问题标题】:Error barplot after running library (plyr)运行库后的错误条形图(plyr)
【发布时间】:2020-06-24 18:04:34
【问题描述】:

我有以下数据集

set.seed(42)
cancer <- sample(c("yes", "no"), 200, replace=TRUE) 
agegroup <- sample(c("35-39", "40-44", "45-49"), 200, replace=TRUE)  
agefirstchild <- sample(c("Age < 30", "Age 30 or greater", "nullipareous"), 200, replace=TRUE) 
dat <- data.frame(cancer, agegroup, agefirstchild)

我正在运行此代码来创建条形图。 2个问题。 1.我现在想要整个数据集的图表不仅是癌症 = 是 2. 在我运行库(plyr) 之后,我收到了一个警告,它没有使用特定的包。 下面的情节正在工作,但在运行这个库之后不再。这是错误消息:“print.default(m, ..., quote = quote, right = right, max = max) 中的错误: 无效的 'na.print' 规范”

riskwoinvasivetrain%>%
 group_by(Agegroup) %>%
 summarize(prop_cancer = mean(Cancer == 'yes')) %>%
 print(n=1000)

只想有一个简单的频率表告诉我每个子组的大小 (n)。例如,35-39 岁的尺码是

'data.frame':159093 obs。 12 个变量:
 $ 更年期 : chr "Postmenopausal" "Postmenopausal" "Postmenopausal" "Postmenopausal" ...
 $ 年龄组 : chr "45-49" "45-49" "45-49" "45-49" ...
 $ Density : chr "几乎完全肥胖" "几乎完全肥胖" "几乎完全肥胖" "几乎完全肥胖" ...
 $ Race : chr "white" "white" "white" "white" ...
 $ BMI : 字符 "10-24.99" "10-24.99" "10-24.99" "10-24.99" ...
 $ AgeFirstBirth : 字符 "
    

【问题讨论】:

  • 我认为您需要按“癌症”分组。在代码中,列名是不同的。输入示例对应的列名应该是什么
  • 我需要完整数据集的 BMI 结果。此代码现在仅限于患有癌症的人的 BMI 结果是
  • 在您展示的示例中,没有“BMI”列
  • 好的,已经调整了文字以澄清
  • 也许你的意思是dat %&gt;% count(agegroup, cancer) %&gt;% mutate(prop_cancer = n/sum(n))

标签: r


【解决方案1】:

我们可以取count,除以'n'的sum作为百分比,然后用ggplot进行绘图

library(dplyr)
library(ggplot2)
dat %>% 
    count(agegroup, cancer) %>% 
    mutate(prop_cancer = n/sum(n)) %>%
    ggplot(aes(x = agegroup, y = n, fill = cancer)) +
        geom_col()

【讨论】:

  • 我不断收到奇怪的错误,运行此代码时我的代码中的变量和数据集名称是正确的我检查了 10 次,但它不能识别年龄组癌症。另一个具有完全相同名称的代码起作用。可能与 plyr 软件包安装有关。查看原始消息这是错误错误计数(。,年龄组,癌症):找不到对象'年龄组'
  • @Kirsten 您能否尝试仅加载 dplyr 的全新 R 会话。我猜在加载了plyr 后,它使用的是plyr::mutate 而不是dplyr::mutate
  • 我很想这样做,但是当我重新启动时,我想我会丢失所有结果。或者有没有办法可以在不丢失结果的情况下重新启动?也许我需要坚持我的另一个不太漂亮的条形图
  • @Kirsten 是的,你可以用dplyr::mutate(prop_cancer = n/sum(n)) 替换变异,我猜dplyr::count
  • 是的,一旦我可以在 R 中清理,我就会去检查。目前不会丢失结果
猜你喜欢
  • 1970-01-01
  • 2015-05-19
  • 2018-03-29
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2013-03-14
  • 1970-01-01
  • 2011-09-02
相关资源
最近更新 更多