Rmarkdown对电影数据集进行统计分析
- 任務(wù)一
- 讀入電影數(shù)據(jù).csv數(shù)據(jù)集,將其命名為a,嘗試使用summary函數(shù)查看數(shù)據(jù)總體情況。重點(diǎn)查看缺失情況,如果有缺失,請(qǐng)將缺失數(shù)據(jù)所在行全部刪除(提示:你可能需要檢索一些處理缺失數(shù)據(jù)的函數(shù))。展示票房最高和最低記錄的觀(guān)測(cè)。
- 任務(wù)二
- 根據(jù)上映月份新生成一個(gè)變量叫做dangqi,其中12月、1月和2月歸為賀歲檔;7、8、9歸為暑期檔;3、4歸為普通檔;5、6歸為黃金1檔;10、11歸為黃金2檔;最后對(duì)檔期進(jìn)行統(tǒng)計(jì)。
- 任務(wù)三
- 將導(dǎo)演年代為30和40的統(tǒng)一合并為”50以下”,合并之后,更改導(dǎo)演年代的因子水平,使其變?yōu)?#xff1a;50以下<60<70<80
- 任務(wù)四
- 對(duì)數(shù)據(jù)表格中的數(shù)據(jù)按照時(shí)間順序排列,展示前6行,部分列(“name”和”showtime”)
- 任務(wù)五
- 新生成一個(gè)變量叫做”上映日期”,由”上映年份”和”上映月份”構(gòu)成,日期統(tǒng)一用每月的1號(hào)。例如”新天生一對(duì)”的上映日期為2012-01-01。將數(shù)據(jù)集按照上映日期、票房和類(lèi)型進(jìn)行排序,其中上映日期升序排列、票房降序排列。展示前10行。
- 任務(wù)六
- 在很多實(shí)際數(shù)據(jù)中,有些日期的表示并不是yyyy-mm-dd的形式,極個(gè)別情況是以數(shù)字形式展示,比如實(shí)際數(shù)據(jù)中用16520代表日期。請(qǐng)將該數(shù)值轉(zhuǎn)換為日期形式。
任務(wù)一
讀入電影數(shù)據(jù).csv數(shù)據(jù)集,將其命名為a,嘗試使用summary函數(shù)查看數(shù)據(jù)總體情況。重點(diǎn)查看缺失情況,如果有缺失,請(qǐng)將缺失數(shù)據(jù)所在行全部刪除(提示:你可能需要檢索一些處理缺失數(shù)據(jù)的函數(shù))。展示票房最高和最低記錄的觀(guān)測(cè)。
## 導(dǎo)入電影數(shù)據(jù).csv數(shù)據(jù)集 a = read.csv("C:/Users/Desktop/film.csv",header = T,fileEncoding = "UTF-8") ## 查看數(shù)據(jù)集前五行 #head(a) ## 數(shù)據(jù)匯總summary summary(a) ## 查看數(shù)據(jù)集行數(shù)與列數(shù) dim(a) ## 查看數(shù)據(jù)中是否存在缺失值數(shù)據(jù) is.na(a) ## 查看數(shù)據(jù)集中總的缺失值個(gè)數(shù) sum(is.na(a)) ## 按列查看缺失值個(gè)數(shù) #colSums(is.na(a)) ## 刪除有缺失值的行數(shù) a = na.omit(a) dim(a)展示票房最高和最低記錄的觀(guān)測(cè)
## 顯示票房最高數(shù)的觀(guān)測(cè) (MAX = a[a$boxoffice == max(a$boxoffice),]) ## 顯示票房最低數(shù)的觀(guān)測(cè) (MIN = a[a$boxoffice == min(a$boxoffice),])票房最高紀(jì)錄觀(guān)測(cè)輸出結(jié)果為:
name boxoffice doubanscore type duration showtime director star1 index1 2 美人魚(yú) 338583.3 6.9 喜劇 93 2016/2/8 周星馳 鄧超 41310 star2 index2 導(dǎo)演年代 2 林允 9292 60票房最低紀(jì)錄觀(guān)測(cè)輸出結(jié)果為:
name boxoffice doubanscore type duration showtime director star1 index1 19 鋼刀 924.86 4.3 動(dòng)作 94 2016/5/20 阿甘 何潤(rùn)東 11822 star2 index2 導(dǎo)演年代 19 李學(xué)東 521 60任務(wù)二
根據(jù)上映月份新生成一個(gè)變量叫做dangqi,其中12月、1月和2月歸為賀歲檔;7、8、9歸為暑期檔;3、4歸為普通檔;5、6歸為黃金1檔;10、11歸為黃金2檔;最后對(duì)檔期進(jìn)行統(tǒng)計(jì)。
## 賦值新的變量 a$months = months(as.Date(a$showtime)) a$dangqi[a$months == "十二月" | a$months == "一月" | a$months == "二月"] = "賀歲檔" a$dangqi[a$months =="七月" | a$months == "八月" | a$months == "九月"] = "暑假檔" a$dangqi[a$months =="三月" | a$months == "四月"] = "普通檔" a$dangqi[a$months =="五月" | a$months == "六月"] = "黃金1檔" a$dangqi[a$months =="十月" | a$months == "十一月"] = "黃金2檔" ## 對(duì)檔期進(jìn)行統(tǒng)計(jì) table(a$dangqi)或者可以使用下面這種方法:
## install.packages("lubridate") library(lubridate) a$month = month(as.Date(a$showtime)) a$dangqi2[a$month == "12" | a$month == "1" | a$month == "2"] = "賀歲檔" a$dangqi2[a$month =="7" | a$month == "8" | a$month == "9"] = "暑假檔" a$dangqi2[a$month =="3" | a$month == "4"] = "普通檔" a$dangqi2[a$month =="5" | a$month == "6"] = "黃金1檔" a$dangqi2[a$month =="10" | a$month == "11"] = "黃金2檔" ## 對(duì)檔期進(jìn)行統(tǒng)計(jì) table(a$dangqi2)任務(wù)三
將導(dǎo)演年代為30和40的統(tǒng)一合并為”50以下”,合并之后,更改導(dǎo)演年代的因子水平,使其變?yōu)?#xff1a;50以下<60<70<80
a$導(dǎo)演年代[a$導(dǎo)演年代 == 30 | a$導(dǎo)演年代 == 40 | a$導(dǎo)演年代 == 50] = "50及以下" #更改導(dǎo)演年代的因子水平,使其變?yōu)?#xff1a;50以下<60<70<80 a$directorage = factor(a$導(dǎo)演年代,levels = c("50及以下", "60", "70","80"),ordered = T,) a$directorage class(a$directorage)任務(wù)四
對(duì)數(shù)據(jù)表格中的數(shù)據(jù)按照時(shí)間順序排列,展示前6行,部分列(“name”和”showtime”)
## 按照時(shí)間順序進(jìn)行排序 head(a[order(a$showtime),c("name","showtime")],6)或者使用下述方法:
a = a[order(a$showtime),] head(a[,c(1,6)])任務(wù)五
新生成一個(gè)變量叫做”上映日期”,由”上映年份”和”上映月份”構(gòu)成,日期統(tǒng)一用每月的1號(hào)。例如”新天生一對(duì)”的上映日期為2012-01-01。將數(shù)據(jù)集按照上映日期、票房和類(lèi)型進(jìn)行排序,其中上映日期升序排列、票房降序排列。展示前10行。
## 生成一個(gè)新變量 a$ondate = as.Date(a$showtime) ## 將日期統(tǒng)一為每月的1號(hào) a$ondate = paste(substr(a$ondate,1,8),"01",sep="") ## 按照上映日期升序、票房降序、類(lèi)型排列 a = a[order(a$ondate,-a$boxoffice,a$type),] ## 展示前10行 head(a,10)任務(wù)六
在很多實(shí)際數(shù)據(jù)中,有些日期的表示并不是yyyy-mm-dd的形式,極個(gè)別情況是以數(shù)字形式展示,比如實(shí)際數(shù)據(jù)中用16520代表日期。請(qǐng)將該數(shù)值轉(zhuǎn)換為日期形式。
這里題目中最終要求生成2016-05-20,而不是網(wǎng)上常說(shuō)的單純的將數(shù)字轉(zhuǎn)換成日期格式(即設(shè)定某個(gè)起始時(shí)間,如下)
as.Date(35981, origin = "1899-12-30")
這種并不適用于本題目的解答。
總結(jié)
以上是生活随笔為你收集整理的Rmarkdown对电影数据集进行统计分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 行为招聘法:你会被谷歌录取吗
- 下一篇: 判断是否为PE文件改进版