【R语言】东北大学大数据班R语言考试


title: “R Exam”
output: html_notebook

1 通过引入 DMwR 包,加载 sales 数据集。

sales<-read.csv("D:\\张志浩\\大数据班\\R语言实验-徐娇\\R考试\\考试用数据\\sales.csv")

(1)查看数据的前 10 行数据和后 3 行数据;

head(sales,10)
head(sales,3)

(2)检查 Quant 和 Val 这 2 个字段同时缺失的有多少样本;

nrow(sales[is.na(sales$Quant)&is.na(sales$Val), ])

(3)计算 Insp 列中每种类别占总数据样本的比例.

mytable <- table(sales$Insp)
mytable
prop.table(mytable)

(4)检查 sales 数据集中有缺失值的样本有多少;然后将缺失样本移除.

sum(rowSums(is.na(sales)) > 0) 
sales<-na.omit(sales)

(5)绘制(4)中将缺失样本移除后的数据,每个 ID 对应的样本条数的条形图.

sales<-data.table(sales)
sales.number<- sales[,.(number=.N), keyby=.(ID)]

在这里插入图片描述

library(plotly)
plot_ly(sales.number, x =  ~ ID, y = ~ number)%>%add_bars()

2 将1, 2,…, 20
构成两个4x5 阶的矩阵,其中矩阵A是按列输入,矩阵B是按行输入,并作如下运算.

A<-matrix(1:20,c(4,5))
A
B<-matrix(1:20,c(4,5),byrow=TRUE)
B

(1)C=A+B

C<-A+B
C

(2)

E<-A*B
E

(3)F是由A的前3行和前3列构成的矩阵,并给列起名为 col1~col3,行起名为 row1~row3;

F<-A[1:3,1:3]
F
rnames <- c("col1","col2","col3")
cnames <- c("row1","row2","row3")
F

(4)G是由矩阵B的各列构成的矩阵,但不含B的第3列;然后将 A 与 G 按列合并.

G<-B[,-3]
G
cbind(A,G)

3 可视化 heart attack 30天死亡率的分布(可为核密度图或是直方图)【数据:outcome-ofcare-measures.csv】【20 分】

heart<-read.csv("D:\\张志浩\\大数据班\\R语言实验-徐娇\\R考试\\考试用数据\\outcome-of-care-measures.csv")

除去缺失值

heart<-heart[heart$Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack!="Not Available",]
heart_attack<-as.double(heart$Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack)
heart_attack<-density(heart_attack)
plot(heart_attack)

在这里插入图片描述

heart_attack<-as.double(heart$Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack)
hist(heart_attack,breaks=100,freq=FALSE,main = "heart attack 30 天死亡率的分布")

在这里插入图片描述

plot(heart$Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack)

在这里插入图片描述

4 统计每个州有多少家医院,并绘制散点图【数据:hospital-data.csv】–用 data.table【15
分】

library(data.table)
hospital<-read.csv("D:\\张志浩\\大数据班\\R语言实验-徐娇\\R考试\\考试用数据\\hospital-data.csv")
hospital<-data.table(hospital)
hospital.number<- hospital[,.(hospital.number=.N), keyby=.(State)]
plot(hospital.number)

在这里插入图片描述
5 将 item_feature1.csv 读入到 df 中选取 date 、item_id 、cate_id 和 cart_ipv 存在 feature中,通过编写函数或是条件、循环语句计算每个 cate_id 下的 item_id 的最早上架时间,并计算在该 cate_id 下的每个 item_id 的加入购物车的( cart_ipv )总量,最后的输出格式是cate_id 、 item_id ,shelf_time 和 total_cart(按 cate_id 升序排列),并输出handle_data.csv文件。【数据:item_feature1.csv】【20 分】

library(dplyr)
df<-read.csv("D:\\张志浩\\大数据班\\R语言实验-徐娇\\R考试\\考试用数据\\item_feature1.csv")
colnames(df)<-c("date","item_id","cate_id","cate_level_id","brand_id","supplier_id","pv_ipv","cart_uv","collect_uv","cart_ipv")
feature<-df[,c("date","item_id","cate_id","cart_ipv")]
treat_feature<-function(x){
  shelf_time<-x%>%group_by(cate_id,item_id)%>%summarise(min(date))
  total_cart<-x%>%group_by(cate_id,item_id)%>%summarise(sum(cart_ipv))
  handle<-merge(shelf_time,total_cart)
  item_id<-x[,c("item_id","cate_id")]
  item_id<-unique(item_id)
  handle_data<-merge(handle,item_id)
  handle_data<-handle_data[order(handle_data$cate_id),]
  colnames(handle_data)<-c("cate_id","item_id","shelf_time","total_cart")
  return(handle_data)
}
handle_data<-treat_feature(feature)
write.csv(handle_data,"handle_data.csv")
posted @ 2019-12-18 11:18  爱做梦的子浩  阅读(543)  评论(0编辑  收藏  举报