数据量大(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)
使用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.tableNBA2021DT[,.(平均出场数=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"))# #设置标签对齐的方式
)