r - R中的中位数需要数字数据
问题描述
我有一个数据集,其中房间的房间数量为房间数量,阳台大小为阳台大小,并且想检查每种类型或房间的中值是多少
data_new%>%
group_by(rooms)%>%
median(balcony_size, na.rm=TRUE)
此代码返回错误
Error in median.default(., balcony_size, na.rm = TRUE) :
need numeric data
阳台大小是数字
data_new$balcony_size
[1] NA NA NA NA 3.00 2.00 2.00 5.00 NA NA NA 4.00 2.00 NA 3.00 NA NA
[18] NA 10.00 44.00 7.50 NA 62.00 29.00 12.00 8.00 NA NA 6.00 6.00 8.00 NA NA NA
[35] NA 5.00 4.00 NA 15.00 NA NA NA 8.00 NA NA NA NA 8.00 NA NA NA
[52] 6.00 8.00 5.00 10.00 NA 5.00 1.00 NA 2.00 33.00 4.00 NA 4.00 6.00 5.00 12.00 15.00
> str(data_new$balcony_size)
num [1:40099] NA NA NA NA 3 2 2 5 NA NA ...
解决方案
如果是创建一个新列,我们可以使用median
inmutate
library(dplyr)
data_new%>%
group_by(rooms)%>%
mutate(Median = median(balcony_size, na.rm=TRUE))
或者如果我们只需要summarise
d 输出
data_new%>%
group_by(rooms)%>%
summarise(Median = median(balcony_size, na.rm=TRUE))
或使用base R
aggregate(balcony_size ~ room, data_new, median, na.rm = TRUE, na.action = NULL)
如果我们median
在 之后直接应用group_by
,它是应用和median
工作的整个数据集,vector
而不是data.frame
推荐阅读
- php - Laravel - 如何在使用远程 API 获取数据时将模型传递给视图而不查询数据库?
- python - 根据多列条件删除pandas df中行的最有效方法
- typescript - RxJS wait until desired value with timeout
- python - 尝试使用 pd.get_dummies 对仅返回 0 和 1 的数据进行热编码
- azure - Azure 表存储检索操作为非空值返回空值
- python - 如何将一个脚本中的可滚动框架导入到不同脚本 tkinter 中的框架中
- javascript - 防止滚动位置在 ajax 刷新时置顶
- python - 重新启动运行时后模型加载得到不同的结果
- json - pandas to_json , django 和 d3.js 用于可视化
- oracle - Oracle v19:正在进行的事务可以长时间阻止对相关表的并发删除吗?