2020-12-18R程序设计HW2

问题1:



问题2:给定数据,请完成以下任务,请给出code 和输出结果。

(1)  请读入数据,使用软件分别给出 price, marketshare,和brand的缺失值数量。请按照每一个brand, 将数据按照先marjetshare 后price 进行从高到低排序

(2) 请按照brand 的种类,对price和marketshare 求均值。

(3)请按照brand 的种类,对price和marketshare 画散点图。

(4)    请按照价格的均值,产生新的变量price_new, 低于均值为“低价格”,高于均值为“高价格”。同样对市场份额也是,产生变量marketshare_new, 数值为“低市场份额”和“高市场份额”

(5) 请估计模型,marketshare为Y,price为X.

(6)  请画出(5)的拟合直线。

(7)请随机产生若干直线,验证(5)的结果是最优的

(8)  请估计模型,marketshare为Y,price和brand 为X.

######### 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<resi2))

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

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

m2

summary(m2)



问题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

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

 geom_point()

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

问题2:

(1)  从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)

(2)  从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))

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

ggplot(data =

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

linetype = origin))

(6)根据不同出发地(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)

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

ggplot(data=flight_weather)+geom_bar(mapping

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

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

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

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

问题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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容

  • 请下载hw1_a和hw1_b两个excel数据文件,完成以下任务: 1.[endif]请将数据hw1_a和hw1_...
    雪糕ray阅读 485评论 0 1
  • https://jorryyang.gitee.io/rdata/ 第一次作业: 题目: 请下载hw1_a和hw1...
    2020MEM阅读 193评论 0 0
  • 问题 1: A 和 B 约定在某篮球场见面。他俩都不太守时,出现时间服从均匀分布。他俩也都没有 耐心, 每个人都会...
    lucky_1144阅读 534评论 0 0
  • R语言-v1-基础知识 Iretara[https://weibo.com/u/1130061644]12-17 ...
    Iretara阅读 1,390评论 1 0
  • R数据科学### 20200919 8:30 raining#### shif+enter 换行 planes ...
    miki1823阅读 953评论 0 2