• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

R语言部分题解

武飞扬头像
以梦战天
帮助1

  1. 请论述大数据的四个特点

数据量大(Volume)、数据种类多(Variety)、数据价值密度低(Value)、数据增长速度快(Velocity)

  1. 为什么目前大数据被广泛使用

科技的进步、基础建设的改进、资料获取变轻松

  1. 计算1~10的平均数

     mean(c(1,2,3,4,5,6,7,8,9,10))
    
  2. 3~15每隔3产生一组数字

    seq(from=3,to=15,by=3)
    
  3. 程序改错

    3=a
    Library(”ggpolt2”)
    105CGUIM<-”text”
    install.packages(ggplot2)
    
    a=3
    Library(ggplot2)
    CGUIM105<-”text”
    Install.packages(“ggplot2”)
    
  4. (1)创建向量1~10

    Vc <- c(1,2,3,4,5,6,7,8,9,10)
    

    (2)对向量所有元素加3

    Vc <- Vc 3
    
  5. 新增一向量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]
    
  6. 新增一列表a,包含一数字向量、一字符串向量
    向列表中添加新的数字向量b
    删除列表a中的字符串向量

    a<-list(c(1,2,3),c("x","y"))
    b<-c(2,3)
    a[[3]]<-b
    a[[2]]<=null
    
  7. (1)查询数据集mtcars中的所有列名
    (2)查询数据集mtcars中的所有行名与列名

    colnames(mtcars)
    dimnames(mtcars)
    
  8. (1)查询数据集islands的长度
    (2)查询数据集mtcars的行数与列数

    length(islands)
    dim(mtcars)
    
  9. 将“10”转化为数字、将11转化为字符

     as.numeric("10")
     as.character(11)
    
  10. (1)将字符串hello world字母转化为大写

     toupper("hello world")
    

    (2)提取字符串hello world中的hello

    substr("Hello World", start=1,stop=5)
    
  11. (1)拼接字符串hello与字符串world

    paste("hello","world")
    

    (2)将拼接好的字符串中的h和w替换为a

    gsub("h|w","a","hello world")
    
  12. 对数据集islands进行从大到小排序

    sort(islands)
    
  13. 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")
    
  14. 使用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……均是数据中对应的列名
  1. 使用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)
    
  2. 使用dplyr对NBA2021数据集新增新栏位命中率

    mutate(NBA2021, 命中率=FieldGoalsMade/FieldGoalsAttempted)
    
  3. 使用dplyr统计NBA2021数据集中的球员个数,球队个数

    summarise(NBA2021,
    球员个数=n(),
    球队个数=n_distinct(Team))
    
  4. 使用dplyr计算NBA2021数据集中出场分钟数大于2500分钟的球员个数、平均投进的两分球数以及平均投出的两分球数

    filter1 <- filter(NBA2021,TotalMinutesPlayed>2500)
    sum2 <- summarise(filter1,
    		球员个数=n(),
    		平均投进的两分球数=mean(FieldGoalsMade),
    		平均出手数=mean(FieldGoalsAttempted))
    
  5. 使用dplyr对NBA2021数据集以出场分钟数以及出场次数对所有球员进行从大到小的排序

    arrange(NBA2021,desc([出场分钟数列名]),desc([出场次数列名]))
    
  6. 使用dplyr计算NBA2021数据集以Team和Position作为分组依据的球员数、平均投进的两分球数以及平均投出的两分球数,并依据平均投进的两分球数由大到小排序

    dataout <- group_by(NBA2021,Team,Position)%>%
    			summarise(球员数=n(),
    			平均投进的两分球数=mean(FieldGoalsMade),
    			平均出手数=mean(FieldGoalsAttempted))%>%
    			arrange(desc(平均投进的两分球数)))
    
  7. 使用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均为对应列名
    
  8. 使用data.table计算所有出场数大于70的球员,平均投进几颗三分球与两分球

    NBA2021DT[GamesPlayed>60,
              .(平均三分进球=mean(ThreesMade), 
    			平均两分进球=mean(FieldGoalsMade))]
    
  9. 使用data.table计算NBA各队中锋球员数和他们的平均三分球出手次数

    NBA2021DT[Position=="C",
              .(.N,平均三分出手次数=mean(ThreesAttempted)),
              by=Team]
    #第一个参数 Position=="C" 是筛选位置为中锋的球员
    #第二个参数是控制输出什么的 .(.N,平均三分出手次数=mean(ThreesAttempted))中:
    #.N表示在第一个参数条件下的总数量
    
  10. 对鸢尾花数据集进行宽表转长表操作,保留鸢尾花类别列

    #宽表转长表 melt(资料框[宽表],id.vars=需要保留的栏位)
    
    library(reshape2)
    iris2 <- melt(iris,id.vars="Species")
    
    #Species是鸢尾花类别列的列名
    
  11. 使用ggplot函数对上述数据进行绘图,横坐标为鸢尾花种类、y轴为value,以鸢尾花种类进行颜色区分,图形类别为点图

    library(ggplot2)
    ggplot(iris2,aes(Species,value,color=Species))   geom_point()
    
  12. 使用ggplot函数对上述数据进行绘图,横坐标为鸢尾花种类、y轴为value,图形类别为点图,点颜色为黄色、大小为3、透明度50%、点的形状为17

    ggplot(iris2,aes(Species,value)) 
      geom_point(color="yellow",size=3,alpha=.50,shape=17)
    
  13. 对钻石数据集进行不放回随机抽取5000个数据作为新的数据集、根据数据集绘制点图,x:克拉,y:价格,点的颜色以切割类型区分,点的形状为18。

    dia <- diamonds[sample(nrow(diamonds), 1000), ]
    #diamonds是钻石数据集
    
    ggplot(dia,aes(carat,price),color=cut) 
      geom_point(shape=18)
    
  14. 请论述下列代码含义

    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"))# #设置标签对齐的方式
    )
    

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcaijg
系列文章
更多 icon
同类精品
更多 icon
继续加载