我目前在中级统计学班。我在作业中遇到了一个问题,它是这样的:
从作业中:“为囊性纤维化患者创建一个向量x,用这25个BMI观测值……
68、65、64、67、93、68、89、69、67、68、89、90、93、93、66、70、70、92、69、72、86、86、97、71、95
我想要帮助的部分:
a.创建一个从60-100到60、65、70、75、80、85、90、95、100的直方图。“
b.计算属于下列类别的观察所占百分比:
我创建了一个名为cyst_fibro_sample的对象来包含观察结果。该作业指示我们使用R计算一些基本统计数据,如五个数字摘要、四分位数范围和标准差。我使用内置的hist()函数,因为我没有变量,只有观察图,我不知道如何用ggplot()绘制观察结果
hist(x, breaks = 60,65,70...),我想避免手工输入所有的值,因为这样做效率很低。但是,对于偶数间隔,我不能像向量运算那样。
我希望这个论点是hist(x, breaks = c(60:100, increasing by = 5)
对于作业的B部分,我认为我们被要求计算每一类观测的密度,但我不确定。
任何帮助都是非常感谢的!
发布于 2021-01-28 02:19:49
我在R中的基本直方图函数中使用了断续参数中的seq()函数。
hist(x, breaks = seq(60, 100, 5)我还想出了如何计算赋值中给出的每个界的百分比。
sum((x >= 60, & x < 65)/length(x)) * 100我把每一个百分比都保存为对象,我想用它们建立一个简单的数据框架。
发布于 2021-01-28 01:46:40
这里我使用了cars数据集,但是通过使用一个函数来检测边界,我们可以使用seq生成一个中断/回收箱向量来生成直方图,并使用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)https://stackoverflow.com/questions/65929473
复制相似问题