- 请论述大数据的四个特点
数据量大(Volume)、数据种类多(Variety)、数据价值密度低(Value)、数据增长速度快(Velocity)
- 为什么目前大数据被广泛使用
科技的进步、基础建设的改进、资料获取变轻松
-
计算1~10的平均数
mean(c(1,2,3,4,5,6,7,8,9,10))
-
3~15每隔3产生一组数字
seq(from=3,to=15,by=3)
-
程序改错
3=a Library(”ggpolt2”) 105CGUIM<-”text” install.packages(ggplot2)
a=3 Library(ggplot2) CGUIM105<-”text” Install.packages(“ggplot2”)
-
(1)创建向量1~10
Vc <- c(1,2,3,4,5,6,7,8,9,10)
(2)对向量所有元素加3
Vc <- Vc+3
-
新增一向量a,包含数字1到10
新增一向量b,包含数字1到20中所有偶数取出a向量的第4个元素
取出b向量的第5、6、7个元素
a<-c(1,2,3,4,5,6,7,8,9,10) b<- seq(from=2,to=20,by=2) a[4] b[5:7]
-
新增一列表a,包含一数字向量、一字符串向量
向列表中添加新的数字向量b
删除列表a中的字符串向量a<-list(c(1,2,3),c("x","y")) b<-c(2,3) a[[3]]<-b a[[2]]<=null
-
(1)查询数据集mtcars中的所有列名
(2)查询数据集mtcars中的所有行名与列名colnames(mtcars) dimnames(mtcars)
-
(1)查询数据集islands的长度
(2)查询数据集mtcars的行数与列数length(islands) dim(mtcars)
-
将“10”转化为数字、将11转化为字符
as.numeric("10") as.character(11)
-
(1)将字符串hello world字母转化为大写
toupper("hello world")
(2)提取字符串hello world中的hello
substr("Hello World", start=1,stop=5)
-
(1)拼接字符串hello与字符串world
paste("hello","world")
(2)将拼接好的字符串中的h和w替换为a
gsub("h|w","a","hello world")
-
对数据集islands进行从大到小排序
sort(islands)
-
nameDF<-data.frame(ID=c(1,2,3,4,5),Name=c(“张三”,“李四”,“王五”,“赵六”,“小七"))
scoreDF<-data.frame(ID=c(1,2,4),Score=c(60,90,50))将上述两个数据框进行结合,保留所有数据
merge(nameDF,scoreDF,by="ID")
-
使用dplyr筛选nba2021数据集栏位名称为Name、ThreesMade、ThreesAttempted、FieldGoalsMade与FieldGoalsAttempted的五个栏位
library(SportsAnalytics)
NBA2021<-fetch_NBAPlayerStatistics(“20-21")library(dplyr) select(NBA2021,Name,hreesMade,ThreesAttempted,FieldGoalsMade,FieldGoalsAttempted)
- 注 下列中的FieldGoalsMade、FieldGoalsAttempted……均是数据中对应的列名
-
使用dplyr:
(1)查看NBA2021数据集中命中率大于60%并且出场次数大于30场的球员资料
(2)查看出场分钟数超过1000分钟并且队伍名称为“BOS”或“SAN”的球员资料(1) filter4<-filter(NBA2021,FieldGoalsMade/FieldGoalsAttempted>0.6 & GamesPlayed>30) (2) filter(NBA2021,Team %in% c("BOS","SAN") & TotalMinutesPlayed>1000)
-
使用dplyr对NBA2021数据集新增新栏位命中率
mutate(NBA2021, 命中率=FieldGoalsMade/FieldGoalsAttempted)
-
使用dplyr统计NBA2021数据集中的球员个数,球队个数
summarise(NBA2021, 球员个数=n(), 球队个数=n_distinct(Team))
-
使用dplyr计算NBA2021数据集中出场分钟数大于2500分钟的球员个数、平均投进的两分球数以及平均投出的两分球数
filter1 <- filter(NBA2021,TotalMinutesPlayed>2500) sum2 <- summarise(filter1, 球员个数=n(), 平均投进的两分球数=mean(FieldGoalsMade), 平均出手数=mean(FieldGoalsAttempted))
-
使用dplyr对NBA2021数据集以出场分钟数以及出场次数对所有球员进行从大到小的排序
arrange(NBA2021,desc([出场分钟数列名]),desc([出场次数列名]))
-
使用dplyr计算NBA2021数据集以Team和Position作为分组依据的球员数、平均投进的两分球数以及平均投出的两分球数,并依据平均投进的两分球数由大到小排序
dataout <- group_by(NBA2021,Team,Position)%>% summarise(球员数=n(), 平均投进的两分球数=mean(FieldGoalsMade), 平均出手数=mean(FieldGoalsAttempted))%>% arrange(desc(平均投进的两分球数)))
-
使用data.table计算所有球员的平均出场数、平均犯规次数以及平均抄截次数
library(SportsAnalytics)
NBA2021<-fetch_NBAPlayerStatistics(“20-21")library(data.table) #导入data.table库 NBA2021DT<-data.table(NBA2021) #将data.frame类型转换为data.table NBA2021DT[,.(平均出场数=mean(GamesPlayed), 平均犯规数=mean(PersonalFouls), 平均抢断数=mean(Steals))] #GamesPlayed、PersonalFouls、Steals均为对应列名
-
使用data.table计算所有出场数大于70的球员,平均投进几颗三分球与两分球
NBA2021DT[GamesPlayed>60, .(平均三分进球=mean(ThreesMade), 平均两分进球=mean(FieldGoalsMade))]
-
使用data.table计算NBA各队的中锋球员数和他们的平均三分球出手次数
NBA2021DT[Position=="C", .(.N,平均三分出手次数=mean(ThreesAttempted)), by=Team] #第一个参数 Position=="C" 是筛选位置为中锋的球员 #第二个参数是控制输出什么的 .(.N,平均三分出手次数=mean(ThreesAttempted))中: #.N表示在第一个参数条件下的总数量
-
对鸢尾花数据集进行宽表转长表操作,保留鸢尾花类别列
#宽表转长表 melt(资料框[宽表],id.vars=需要保留的栏位) library(reshape2) iris2 <- melt(iris,id.vars="Species") #Species是鸢尾花类别列的列名
-
使用ggplot函数对上述数据进行绘图,横坐标为鸢尾花种类、y轴为value,以鸢尾花种类进行颜色区分,图形类别为点图
library(ggplot2) ggplot(iris2,aes(Species,value,color=Species))+ geom_point()
-
使用ggplot函数对上述数据进行绘图,横坐标为鸢尾花种类、y轴为value,图形类别为点图,点颜色为黄色、大小为3、透明度50%、点的形状为17
ggplot(iris2,aes(Species,value))+ geom_point(color="yellow",size=3,alpha=.50,shape=17)
-
对钻石数据集进行不放回随机抽取5000个数据作为新的数据集、根据数据集绘制点图,x:克拉,y:价格,点的颜色以切割类型区分,点的形状为18。
dia <- diamonds[sample(nrow(diamonds), 1000), ] #diamonds是钻石数据集 ggplot(dia,aes(carat,price),color=cut)+ geom_point(shape=18)
-
请论述下列代码含义
library(treemap) #导入TreeMap树图绘制库 data(GNI2014) #加载指定的GNI2014数据集 #使用treemap函数绘制矩形树状图 treemap(GNI2014, #指定数据集 index=c("continent", "iso3"), #指定分组的列 vSize="population",#指定面积大小的列 vColor="GNI", #指定颜色深浅的列 type="value", #指定颜色填充类型的列 title = "数据",#给定的标题 border.col = c("black","blue"),#设置边框的颜色分别为 fontsize.labels = c(12,10),##设置标签字体大小 border.lwds = c(4,2),#设置边框的线条的宽度 align.labels = list(c("center","center"),c("left","top"))# #设置标签对齐的方式 )