2020-12-17

问题 1:

A 和 B 约定在某篮球场见面。他俩都不太守时,出现时间服从均匀分布。他俩也都没有

耐心, 每个人都会只等对方十分钟就会离开。已知 A 到篮球场的时间为下午 4 点到 5

点之间。

(1) 如果 B 到达篮球场的时间也为下午 4 点到 5 点之间,模拟运行 50000 次,看看他

们成功相遇的概率。

(2) 对上一问的 50000 次模拟,用不同颜色在一张图中展示成功相遇与否。

(3) B 应该如何选择 4 点到 5 点之间的哪个时间段,来提升他们成功相遇的概率? 用模

拟展示你的理由

问题 2:

请使用 nycflights13 和 pipe 语法

(1)从 flights 数据表中挑选出以下变量:(year, month, day, hour, origin, dep_delay,

distance, carrier),将生产的新表保存为 flight1。

(2)从 weather 数据表中挑选出以下变量: (year, month, day, hour, origin, humid,

wind_speed),将生产的新表保存为 weather1。

(3)将 flight1 表和 weather1 表根据共同变量进行内连接,随机抽取 100000 行数据,

将生产的结果保存为 flight_weather。 (提示:sample_n()函数,不用重复抽取)

(4)从 flight_weather 表中对三个出发机场按照平均出发延误时间排降序,并将结果保

留在 longest_delay 表中。把结果展示出来。

(5)根据出发地(origin) 在同一个图中画出风速 wind_speed(x 轴)和出发延误时间

dep_delay(y 轴) 的平滑曲线图。

(6)根据不同出发地(origin)在平行的 3 个图中画出风速 wind_speed(x 轴)和出发

延误时间 dep_delay(y 轴)的散点图。

(7)根据 flight_weather 表,画出每个月航班数的直方分布图,x 轴为月份,y 轴是每个

月份航班数所占的比例。

(8)根据 flight_weather 表,画出每个月航班距离的 boxplot 图,x 轴为月份,y 轴为

航行距离, 根据的航行距离的中位数从低到高对 x 轴的月份进行重新排序。

问题1:

n_Sim <- 50000

sim_meet <- tibble(

  A =runif(n_Sim, min = 0, max = 60),

  B =runif(n_Sim, min = 0, max = 60)

) %>%

 mutate(result = ifelse(abs(A - B) <= 10,

                         "They meet","They do not"))

p_meet <- sim_meet %>% count(result)%>%

 arrange(n) %>%

 mutate(percent = n / n_Sim)

p_meet

[if !vml]

[endif]


ggplot(data = sim_meet, aes(x = A, y = B,color = result)) +

 geom_point()

[if !vml]

[endif]

## 最后一问就是学生不断修改min = 10, max = 50



问题2:

[if !supportLists](1)  [endif]从flights数据表中挑选出以下变量:(year, month, day, hour, origin, dep_delay, distance, carrier),将生产的新表保存为 flight1。


library(tidyverse)

library(nycflights13)

flight1<-select(flights,

year, month, day, hour, origin, dep_delay, distance, carrier)


[if !supportLists](2)  [endif]从weather数据表中挑选出以下变量:(year, month, day, hour, origin, humid, wind_speed),将生产的新表保存为 weather1。


weather1<-select(weather,

year, month, day, hour, origin, humid, wind_speed)


(3) 将flight1表和weather1表根据共同变量进行内连接,随机抽取100000行数据,将生产的结果保存为flight_weather。(提示:sample_n()函数,不用重复抽取)


    flight_weather <- inner_join(flight1, weather1) %>%

sample_n(100000)


(4) 从flight_weather 表中对三个出发机场按照平均出发延误时间排降序,并将结果保留在longest_delay 表中。把结果展示出来。


    longest_delay<- flight_weather %>% group_by(origin) %>%

summarise(ave_delay = mean(dep_delay, na.rm = TRUE)) %>%

arrange(desc(ave_delay))

[if !vml]

[endif]

(5) 根据出发地(origin) 在同一个图中画出风速 wind_speed(x轴)和出发延误时间dep_delay(y轴)的平滑曲线图


ggplot(data =

flight_weather)+geom_smooth(mapping = aes(x = wind_speed, y = dep_delay,

linetype = origin))


[if !vml]

[endif]


[if !supportLists](6) [endif]根据不同出发地(origin) 在平行的3个图中画出风速wind_speed(x轴)和出发延误时间dep_delay(y轴)的散点图。


ggplot(data

= flight_weather) + geom_point(mapping = aes(x = wind_speed, y = dep_delay)) + facet_wrap(~origin,nrow

= 1)

[if !vml]

[endif]


[if !supportLists](7) [endif]根据flight_weather表,画出每个月航班数的直方分布图,x轴为月份,y轴是每个月份航班数所占的比例。


ggplot(data=flight_weather)+geom_bar(mapping

= aes(month, y=..prop.., group = 1) )


[if !vml]

[endif]


[if !supportLists](8) [endif]根据flight_weather表,画出每个月航班距离的boxplot图,x轴为月份,y轴为航行距离, 根据的航行距离的中位数从低到高对x轴的月份进行重新排序。


    ggplot(data=flight_weather)+geom_boxplot(mapping = aes(x=reorder(month,

distance, FUN=median), y=distance))


[if !vml]

[endif]


问题3:

######(1) #######

(H <- function(p) -sum(p*log(p)))

######(2) #######

(DKL <- function(p,q) sum( p*(log(p)-log(q)) ))

###### (3)#######

IB <- list()

IB[[1]] <- c( 0.2 , 0.2 , 0.2 , 0.2 , 0.2 )

IB[[2]] <- c( 0.8 , 0.1 , 0.05 , 0.025 , 0.025 )

IB[[3]] <- c( 0.05 , 0.15 , 0.7 , 0.05 , 0.05 )

purrr::map_dbl( IB , H )

[1] 1.6094379 0.7430039 0.9836003

###### (4)#######

Dm <- matrix( NA , nrow=3 , ncol=3 )

for ( i in 1:3 ) {

  for ( j in 1:3) {

    Dm[i,j]<- DKL( IB[[j]] , IB[[i]] )

  }

}

Dm

[if !vml]

[endif]

######### 1(1) ############

get.root<-function(a,b,c){

  if(sign(b*b-4*a*c)==-1)

  {print("无解")

    return(c(NA,NA))

  } else

   return(c((-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a)))

}


get.root(1,-4,4)


######### 1(2) #############

get.prob<-function(n){

  a=runif(n,min=1,max=5)

  b=rnorm(n,mean=3,sd=sqrt(10))

  c=rexp(n,rate=1)

  k=0

  for (i in 1:n) {

   if(sign(b[i]*b[i]-4*a[i]*c[i])==1|0)

    {k=k+1}

  }

  return(k/n)

}


get.prob(100000)



########## 2(1) ############

library(readxl)

library(tidyverse)


data<-read_xlsx("data for HW2.xlsx")


sum(is.na(data$price))

sum(is.na(data$marketshare))

sum(is.na(data$brand))


data1=filter(data,!is.na(data[1]))

data1=filter(data1,!is.na(data1[2]))

data1=filter(data1,!is.na(data1[3]))


data1=arrange(data1,desc(marketshare,price))



########### 2(2) ############

pricebars <- data1 %>%

  group_by(brand) %>%

  summarize(pricebar=mean(price))


pricebars


marketsharebars <- data1 %>%

  group_by(brand) %>%

  summarise(marketsharebar=mean(marketshare))


marketsharebars



######### 2(3) ################

ggplot(data=data1)+

  geom_point(mapping =aes(x=price,y=marketshare))+

  facet_wrap(~brand,nrow=2)



######## 2(4) ##########

price=data1$price

pricebar=mean(price)

price_new=ifelse(price>pricebar,"高价格","低价格")


marketshare=data1$marketshare

marketsharebar=mean(marketshare)

marketshare_new=ifelse(marketshare>marketsharebar,"高市场份额",

                       "低市场份额")


data1=mutate(data1,price_new,marketshare_new)



######### 2(5) #########

m1=lm(marketshare~price,data=data1)

m1

summary(m1)



######### 2(6) #########

ggplot(data=data1)+

 geom_point(aes(x=price,y=marketshare))+

  geom_abline(data= m1,col="blue")



######### 2(7) ##########

b0=runif(20000,-5,5)

b1=runif(20000,-5,5)


d<-NA

sum<-NA

n<-1


while(n<=20000){

  for(i in 1:24){

   d[i]<-(marketshare[i]-b0[n]-b1[n]*price[i])^2}

  sum[n]<-sum(d)

  n<-n+1

}


resi=m1$residuals

resi2=sum(resi^2)


check=sum(as.numeric(sum



######## 2(8) #########

m2=lm(marketshare~price+brand,data=data1)

m2

summary(m2)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容