我们的目标是想画出一些城市随着时间变化销售数量的变化。
简单的思路
filter()筛选的是观测,所以可以这样写
library(tidyverse)
filter(txhousing,txhousing$city %in% sample(unique(txhousing$city),10,replace = FALSE))
第二种方法
加载所需要的包
library(tidyr)
library(dplyr)
library(ggplot2)#txhousing数据集在这里面
一种抽样的方式
txhousing1 <- dplyr::sample_n(txhousing,10)
这样抽样的结果不是按照我们想要的,这样抽出来的不是十个城市,而是随机的10行数据
按照城市抽样
#首先将城市去掉重复并加上id
txhousingcity <- distinct(txhousing,city)%>%
mutate(city_id=row_number())
txhousingcity
#再将全部txhousing数据最后加上对应的城市id
txhousing
rankcity <- txhousing%>%
left_join(txhousingcity,by="city")
rankcity
#再下面这个是个which的例子,就是取出id=1的城市
# rankcity1 <- rankcity[which(rankcity$city_id==1),]
# which()
set.seed(123)#设置随机种子
samplenumber <- sample(txhousingcity$city_id,size=10,replace =FALSE)
samplenumber
class(samplenumber)
rankcitychouyang <- rankcity[which(rankcity$city_id %in% c(samplenumber))
,]
rankcitychouyang
这样我们就抽出了十个城市全部的数据。下面就可以画出这十个城市的数据