如何解决R-Markdown 中数字向量的均匀间距
我目前在上中级统计课。我在我的家庭作业中遇到了一个问题,问题如下:
来自作业:“为囊性纤维化患者创建一个包含这 25 个 BMI 观察值的向量 x...
68,65,64,67,93,68,89,69,90,66,70,92,72,86,97,71,95
我需要帮助的部分:
一个。创建一个从 60 到 100 的直方图,在 60、65、70、75、80、85、90、95、100 处有中断。"
B.计算属于以下类别的观察值的百分比:
- 60-65
- 65-70
- 70-75
- 75-80
- 80-85
- 85-90
- 90-95
- 95-100 总计 100%
我创建了一个名为 cyst_fibro_sample
的对象来包含观察结果。该作业指示我们使用 R 来计算一些基本统计数据,例如五个数字汇总、四分位距和标准差。我正在使用内置的 hist()
函数,因为我没有变量,只有观测值要绘制,我不知道如何使用 ggplot()
hist(x,breaks = 60,70...)
我想避免手动输入所有值,因为这非常低效。但是,我似乎无法进行均匀间距的矢量操作。
我希望该参数为 hist(x,breaks = c(60:100,increasing by = 5)
对于作业的 b 部分,我认为我们被要求计算每个观察类别的密度,但我不确定。
感谢任何帮助!
解决方法
我在这里使用了 cars
数据集,但是通过使用函数来检测边界,我们可以使用 seq
生成中断/bin 的向量来生成直方图,并计算密度使用 cut
。
data <- cars
make_bins <- function(data,m = 5) {
rounded <- round(data/m) * m
bins <- seq(min(rounded),max(rounded),by = m)
return(bins)
}
bins <- make_bins(data$dist)
hist(data$dist,bins)
data$bins <- cut(data$dist,bins,include.lowest = TRUE)
dens <- table(data$bins)/nrow(data)
print(dens)
,
我正在使用 cars
包中的 ggplot2
数据集。
如何将 scale_x_continuous
包中的 ggplot2
与 seq
一起使用?
就您而言,seq(from = 60,to = 100,by = 5)
。
library(ggplot2)
library(magrittr)
cars %>%
ggplot(aes(x = dist))+
geom_histogram() +
scale_x_continuous(breaks = seq(from = 0,to = 120,by = 20))
由 reprex package (v0.3.0) 于 2021 年 1 月 27 日创建
原始直方图:
library(ggplot2)
library(magrittr)
cars %>%
ggplot(aes(x = dist))+
geom_histogram()
由 reprex package (v0.3.0) 于 2021 年 1 月 27 日创建
,我在 R 的基本直方图函数的 break 参数中使用了 seq()
函数。
hist(x,breaks = seq(60,100,5)
我还想出了如何计算作业中给出的每个界限的百分比。
sum((x >= 60,& x < 65)/length(x)) * 100
我将每个百分比保存为对象,我想用它们制作一个简单的数据框。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。