任务一: 数字呈现20219通常可能的原因是特定的编码方式、excel储存转换的原因、或者是问卷等方式收集到了这样的数据。但这里需要输出的结果是2025-05-11,所以出现的问题可能是更复杂的。有一种可能是设置了一个起始的日期,该数字为该日期之后的天数。
end<-as.Date("2025-05-11")##将其转化成日期格式
during<-end-20219##计算出起始日期
x=as.Date(20219,origin<-during)##得出结果
x
## [1] "2025-05-11"
任务二:
movie<-read.csv("C:/Users/18487/Desktop/统计软件/电影数据.csv",header=T,,fileEncoding = "GBK")##读入数据
movietime1<-as.Date(movie$showtime[movie$name=='夜孔雀'])
movietime2<-as.Date(movie$showtime[movie$name=='叶问3'])##分别将数据转化成日期格式存入变量中
during<-abs(movietime1-movietime2)##求绝对值,但是如果需要知道谁在前谁在后,则不用求绝对值
during
## Time difference of 77 days
任务三:
a<-read.csv("C:/Users/18487/Desktop/统计软件/film .csv",header=T,,fileEncoding = "GBK")##读入数据
summary(a)
## 片名 放映场数 人数 电影票房
## Length:275 Min. : 4.27 Min. : 28.54 Min. : 1010
## Class :character 1st Qu.: 45.42 1st Qu.: 72.36 1st Qu.: 2194
## Mode :character Median : 75.38 Median : 156.03 Median : 4817
## Mean :122.79 Mean : 329.15 Mean : 11162
## 3rd Qu.:155.93 3rd Qu.: 418.23 3rd Qu.: 13871
## Max. :833.71 Max. :3920.55 Max. :127168
##
## 类型 上映年份 上映月份 上映周数
## Length:275 Min. :2010 Min. : 1.000 Min. : 1.0
## Class :character 1st Qu.:2011 1st Qu.: 4.000 1st Qu.:14.0
## Mode :character Median :2012 Median : 7.000 Median :28.0
## Mean :2012 Mean : 6.542 Mean :27.3
## 3rd Qu.:2013 3rd Qu.: 9.000 3rd Qu.:39.0
## Max. :2013 Max. :12.000 Max. :53.0
##
## 宣发方 时长 是否改编 是否真人真事
## Length:275 Min. : 75.0 Length:275 Min. :0.00000
## Class :character 1st Qu.: 94.5 Class :character 1st Qu.:0.00000
## Mode :character Median :102.0 Mode :character Median :0.00000
## Mean :104.4 Mean :0.09091
## 3rd Qu.:112.5 3rd Qu.:0.00000
## Max. :156.0 Max. :1.00000
##
## 是否翻拍 是否续集 导演 导演年代
## Min. :0.0000 Min. :0.0000 Length:275 Min. :30.00
## 1st Qu.:0.0000 1st Qu.:0.0000 Class :character 1st Qu.:50.00
## Median :0.0000 Median :0.0000 Mode :character Median :60.00
## Mean :0.1018 Mean :0.1673 Mean :61.02
## 3rd Qu.:0.0000 3rd Qu.:0.0000 3rd Qu.:70.00
## Max. :1.0000 Max. :1.0000 Max. :80.00
## NA's :1
## 第几部作品 导演得奖情况 导演是否转型 主演1
## Min. : 1.00 Min. :0.0000 Min. :0.000 Length:275
## 1st Qu.: 3.00 1st Qu.:0.0000 1st Qu.:0.000 Class :character
## Median : 7.00 Median :1.0000 Median :0.000 Mode :character
## Mean : 13.26 Mean :0.5693 Mean :0.135
## 3rd Qu.: 16.00 3rd Qu.:1.0000 3rd Qu.:0.000
## Max. :110.00 Max. :1.0000 Max. :1.000
## NA's :1 NA's :1 NA's :1
## baidu.index1 主演2 baidu.index2
## Min. : 0 Length:275 Min. : 0
## 1st Qu.: 2025 Class :character 1st Qu.: 1596
## Median : 5534 Mode :character Median : 3736
## Mean : 9305 Mean : 7657
## 3rd Qu.: 9630 3rd Qu.: 8430
## Max. :84936 Max. :84936
## NA's :8
发现部分数据有NA’s的标志,则为有数据缺失的:导演年代、第几部作品、导演得奖情况、导演是否转型、baidu.index2
a_clean<-na.omit(a)##查到此函数可以进行删除缺失数据行的操作
summary(a_clean)##进行检查
## 片名 放映场数 人数 电影票房
## Length:266 Min. : 9.69 Min. : 31.91 Min. : 1010
## Class :character 1st Qu.: 45.53 1st Qu.: 72.58 1st Qu.: 2226
## Mode :character Median : 77.94 Median : 159.71 Median : 5113
## Mean :125.24 Mean : 336.84 Mean : 11437
## 3rd Qu.:161.48 3rd Qu.: 424.03 3rd Qu.: 14195
## Max. :833.71 Max. :3920.55 Max. :127168
## 类型 上映年份 上映月份 上映周数
## Length:266 Min. :2010 Min. : 1.000 Min. : 1.00
## Class :character 1st Qu.:2011 1st Qu.: 4.000 1st Qu.:14.00
## Mode :character Median :2012 Median : 7.000 Median :28.00
## Mean :2012 Mean : 6.556 Mean :27.33
## 3rd Qu.:2013 3rd Qu.: 9.000 3rd Qu.:39.00
## Max. :2013 Max. :12.000 Max. :53.00
## 宣发方 时长 是否改编 是否真人真事
## Length:266 Min. : 77.0 Length:266 Min. :0.00000
## Class :character 1st Qu.: 95.0 Class :character 1st Qu.:0.00000
## Mode :character Median :103.0 Mode :character Median :0.00000
## Mean :104.9 Mean :0.09023
## 3rd Qu.:114.0 3rd Qu.:0.00000
## Max. :156.0 Max. :1.00000
## 是否翻拍 是否续集 导演 导演年代
## Min. :0.00000 Min. :0.0000 Length:266 Min. :30.00
## 1st Qu.:0.00000 1st Qu.:0.0000 Class :character 1st Qu.:50.00
## Median :0.00000 Median :0.0000 Mode :character Median :60.00
## Mean :0.09774 Mean :0.1617 Mean :60.94
## 3rd Qu.:0.00000 3rd Qu.:0.0000 3rd Qu.:70.00
## Max. :1.00000 Max. :1.0000 Max. :80.00
## 第几部作品 导演得奖情况 导演是否转型 主演1
## Min. : 1.00 Min. :0.0000 Min. :0.0000 Length:266
## 1st Qu.: 3.00 1st Qu.:0.0000 1st Qu.:0.0000 Class :character
## Median : 7.00 Median :1.0000 Median :0.0000 Mode :character
## Mean : 13.55 Mean :0.5865 Mean :0.1391
## 3rd Qu.: 16.00 3rd Qu.:1.0000 3rd Qu.:0.0000
## Max. :110.00 Max. :1.0000 Max. :1.0000
## baidu.index1 主演2 baidu.index2
## Min. : 0 Length:266 Min. : 0
## 1st Qu.: 2331 Class :character 1st Qu.: 1570
## Median : 5534 Mode :character Median : 3716
## Mean : 9536 Mean : 7651
## 3rd Qu.: 9630 3rd Qu.: 8342
## Max. :84936 Max. :84936
a_clean[which.max(a_clean$电影票房),]##输出结果
## 片名 放映场数 人数 电影票房 类型 上映年份 上映月份 上映周数
## 53 人再囧途之泰囧 833.71 3920.55 127168.1 喜剧 2012 12 51
## 宣发方 时长 是否改编 是否真人真事 是否翻拍 是否续集 导演 导演年代 第几部作品
## 53 S 105 S 0 0 1 徐峥 70 1
## 导演得奖情况 导演是否转型 主演1 baidu.index1 主演2 baidu.index2
## 53 1 1 徐峥 3770 黄渤 9285
a_clean[which.min(a_clean$电影票房),]
## 片名 放映场数 人数 电影票房 类型 上映年份 上映月份
## 220 举起手来(之二)追击阿多丸 20.24 41.3 1010.16 喜剧 2010 9
## 上映周数 宣发方 时长 是否改编 是否真人真事 是否翻拍 是否续集 导演
## 220 37 G 91 S 0 0 1 冯小宁
## 导演年代 第几部作品 导演得奖情况 导演是否转型 主演1 baidu.index1 主演2
## 220 50 13 1 0 潘长江 2639 郭达
## baidu.index2
## 220 857
任务四:
type<-c('贺岁档','普通档','黄金1档','暑期档','黄金2档','贺岁档')##建立档期类型的向量
a_clean$dangqi<-cut(a_clean$上映月份,breaks = c(0,2,4,6,9,11,12),labels = type)##用cut函数给它们分割成几份,放在相应的档期类型中
table(factor(a_clean$dangqi, levels = c("贺岁档","黄金1档","黄金2档","普通档","暑期档")))
##
## 贺岁档 黄金1档 黄金2档 普通档 暑期档
## 66 35 33 42 90
##将其用所需的顺序进行排列之后通过table函数统计频数输出
任务五:
a_clean$导演年代[a_clean$导演年代==30|a_clean$导演年代==40]='50以下'##合并操作
a_clean$导演年代<-factor(a_clean$导演年代,order=T,levels=c('50以下',60,70,80))##改变导演年代的因子水平
a_clean$导演年代
## [1] <NA> <NA> 60 60 70 70 60 60 60 60
## [11] 70 70 80 70 70 70 70 <NA> 60 <NA>
## [21] <NA> 60 60 60 70 70 <NA> 70 70 70
## [31] 70 50以下 70 70 <NA> <NA> 60 60 60 <NA>
## [41] <NA> <NA> <NA> 70 80 70 60 70 70 60
## [51] 50以下 70 70 <NA> <NA> <NA> 70 70 70 60
## [61] 60 70 70 <NA> 60 70 70 70 50以下 60
## [71] 70 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## [81] 60 70 70 70 60 <NA> 60 <NA> <NA> 60
## [91] 60 60 <NA> <NA> 60 70 60 60 60 60
## [101] 70 60 60 60 60 60 70 60 60 <NA>
## [111] 70 70 60 70 60 70 60 70 70 60
## [121] 60 60 60 70 70 60 60 <NA> <NA> 60
## [131] 60 60 60 <NA> 70 70 60 <NA> <NA> 60
## [141] 60 60 70 70 60 70 60 80 70 60
## [151] 60 60 60 60 70 50以下 <NA> 70 70 60
## [161] 70 70 <NA> 60 60 60 70 70 70 80
## [171] 80 60 70 80 70 70 60 60 60 60
## [181] 60 60 60 <NA> <NA> 70 70 70 70 70
## [191] 60 60 <NA> 80 <NA> 60 80 80 60 60
## [201] 70 <NA> 60 60 60 70 60 60 60 60
## [211] 60 80 <NA> <NA> <NA> <NA> <NA> 70 70 70
## [221] 70 70 <NA> <NA> <NA> <NA> <NA> <NA> <NA> 60
## [231] 70 60 <NA> <NA> 70 <NA> 80 80 70 <NA>
## [241] <NA> <NA> 60 60 60 60 60 60 <NA> <NA>
## [251] 60 60 60 <NA> <NA> 60 <NA> <NA> 60 60
## [261] 60 60 60 60 60 60
## Levels: 50以下 < 60 < 70 < 80
注:题目要求是50以下 < 60 < 70 < 80,这可能导致50成为缺失值,解决方法是将50加入levels中
任务六:
a_clean$上映日期<-as.Date(paste(a_clean$上映年份,a_clean$上映月份,01,sep='-'))##用paste函数给它连起来,再换成日期型数据
a_order<-a_clean[order(a_clean$上映日期,-a_clean$电影票房,a_clean$类型),]
##将数据集按照上映日期、票房和类型进行排序,其中上映日期升序排序、票房降序排序,因此票房前要加上符号“-”
head(a_order,10)##展示前十
## 片名 放映场数 人数 电影票房 类型 上映年份
## 17 喜羊羊与灰太狼之虎虎生威 109.70 442.23 12750.30 动画 2010
## 198 孔子 96.34 307.95 10138.85 历史剧情 2010
## 239 大兵小将 126.07 505.16 16218.38 动作 2010
## 169 锦衣卫 115.13 445.19 14469.55 动作 2010
## 63 全城热恋 104.13 394.40 13289.84 爱情 2010
## 101 花田喜事2010 56.14 203.06 6179.05 喜剧 2010
## 32 苏乞儿 54.12 153.32 5127.52 动作 2010
## 266 72家租客 30.75 124.66 3863.35 喜剧 2010
## 143 越光宝盒 134.85 416.39 13297.01 魔幻 2010
## 79 未来警察 79.04 198.09 6073.06 魔幻 2010
## 上映月份 上映周数 宣发方 时长 是否改编 是否真人真事 是否翻拍 是否续集
## 17 1 5 L 88 S 0 1 1
## 198 1 4 G 125 S 1 0 0
## 239 2 7 G 96 S 0 0 0
## 169 2 6 S 114 S 0 0 0
## 63 2 7 S 105 S 0 0 0
## 101 2 7 S 93 S 0 0 1
## 32 2 7 C 115 S 1 1 0
## 266 2 7 L 98 S 0 1 0
## 143 3 12 S 90 S 0 0 0
## 79 3 14 G 99 S 0 0 0
## 导演 导演年代 第几部作品 导演得奖情况 导演是否转型 主演1
## 17 赵崇邦 70 2 0 0 王祖蓝
## 198 胡玫 <NA> 8 1 0 周润发
## 239 丁晟 60 3 1 1 成龙
## 169 李仁港 60 9 1 0 甄子丹
## 63 夏永康 60 1 0 0 张学友
## 101 邱礼涛 60 97 1 0 古天乐
## 32 袁和平 50以下 25 1 1 赵文卓
## 266 曾志伟、钟澍佳、叶念琛 <NA> 1 0 1 张学友
## 143 刘镇伟 <NA> 24 1 0 郑中基
## 79 王晶 <NA> 76 1 0 李冰冰
## baidu.index1 主演2 baidu.index2 dangqi 上映日期
## 17 6231 谢天华 3446 贺岁档 2010-01-01
## 198 11814 陈建斌 2072 贺岁档 2010-01-01
## 239 21802 王力宏 21943 贺岁档 2010-02-01
## 169 9630 赵薇 21334 贺岁档 2010-02-01
## 63 13125 徐熙媛 2134 贺岁档 2010-02-01
## 101 9501 吴君如 2196 贺岁档 2010-02-01
## 32 6083 周迅 6495 贺岁档 2010-02-01
## 266 31125 袁咏仪 2731 贺岁档 2010-02-01
## 143 2338 孙俪 18049 普通档 2010-03-01
## 79 40822 徐熙媛 2134 普通档 2010-03-01
任务七:
num<-c('22万','30万','50万','120万','11万')##将题目数据存入向量
num_clean<-as.numeric(gsub("万","",num))##先用gsub函数去除万字,再将其转换成数值型变量存入新的向量
mean(num_clean*10000)##乘以一万之后求均值
## [1] 466000