查找 R 中每个变量类别的中位数
Find median for each category of a variable in R
我正在学习 R,但我对如何找到中位数和绘制坐标有疑问,这取决于每个变量类别的中位数。假设我有一个数据框如下:
dat <- data.frame(
time = factor(c("Breakfast","Breakfast","Breakfast","Lunch","Lunch","Lunch","Dinner","Dinner","Dinner"), levels=c("Breakfast","Lunch","Dinner")),
total_bill_x = c(12.75,14.89,20.5,17.23,30.3,27.8,20.7,32.3,25.4), total_bill_y= c(20.75,15.29,18.52,19.23,27.3,23.6,19.75,27.3,21.48)
)
我想在坐标 (xy) 中绘制对应于早餐、午餐、晚餐的点,其中 x 是每个类别 total_bill_x 的中位数,y 是每个类别 total_bill_y 的中位数类别。例如,对于早餐的坐标,我想要 x=median(12.75,14.89,20.5) 和 y=median(20.75,15.29,18.52)。我们对 Lunch 和 Dinner 做同样的事情,然后在坐标 xy 中绘制它们。
如有任何帮助,我们将不胜感激。
library (dplyr)
library(ggplot2)
dat %>%
group_by(time) %>% # group your data
summarise(
x = median(total_bill_x),
y = median(total_bill_y) # compute median
)%>%
ggplot(.,aes(x,y, col = time)) + #plot x,y
geom_point()
我正在学习 R,但我对如何找到中位数和绘制坐标有疑问,这取决于每个变量类别的中位数。假设我有一个数据框如下:
dat <- data.frame(
time = factor(c("Breakfast","Breakfast","Breakfast","Lunch","Lunch","Lunch","Dinner","Dinner","Dinner"), levels=c("Breakfast","Lunch","Dinner")),
total_bill_x = c(12.75,14.89,20.5,17.23,30.3,27.8,20.7,32.3,25.4), total_bill_y= c(20.75,15.29,18.52,19.23,27.3,23.6,19.75,27.3,21.48)
)
我想在坐标 (xy) 中绘制对应于早餐、午餐、晚餐的点,其中 x 是每个类别 total_bill_x 的中位数,y 是每个类别 total_bill_y 的中位数类别。例如,对于早餐的坐标,我想要 x=median(12.75,14.89,20.5) 和 y=median(20.75,15.29,18.52)。我们对 Lunch 和 Dinner 做同样的事情,然后在坐标 xy 中绘制它们。
如有任何帮助,我们将不胜感激。
library (dplyr)
library(ggplot2)
dat %>%
group_by(time) %>% # group your data
summarise(
x = median(total_bill_x),
y = median(total_bill_y) # compute median
)%>%
ggplot(.,aes(x,y, col = time)) + #plot x,y
geom_point()