精华内容
下载资源
问答
  • R语言数据分析代码 This repository includes the example code files for the above referenced "Mastering Data Analysis with R" book published at Packt Publishing in 2015.
  • R语言数据分析与数据挖掘实战随书代码
  • R语言数据分析与挖掘实战指导范例R语言数据分析与挖掘实战指导范例R语言数据分析与挖掘实战指导范例
  • 基于R语言数据分析与挖掘实战 配套数据数据和源代码 共15个章节,含每个章节的数据源和源代码demo
  • R语言游戏数据分析与挖掘代码,谢佳标老师倾力佳作,R入门学习的好教程
  • R语言数据分析挖掘实战
  • 原创附代码数据 原创附代码数据 有问题到淘宝找大数据部落就可以了 有问题到淘宝找大数据部落就可以了 语言数据分析回归研究案例移民政策偏好是否有 R语言数据分析回归研究案例移民政策偏好是否有 R 准确的刻板印象 ...
  • R语言 数据分析】豆瓣电影R语言爬虫和数据分析

    千次阅读 多人点赞 2017-12-25 10:50:59
    1、r语言爬虫 rvest包的使用。 2、r语言字符串处理stringr包的使用。 3、r语言聚合dplyr 包的使用。 4、r语言可视化ggplot 包的使用。 5、r语言画词云图worldcloud2 包的使用。 6、正则表达式 str_match 的使用...

    主要内容:
    1、r语言爬虫 rvest包的使用。
    2、r语言字符串处理stringr包的使用。
    3、r语言聚合dplyr 包的使用。
    4、r语言可视化ggplot 包的使用。
    5、r语言画词云图worldcloud2 包的使用。
    6、正则表达式 str_match 的使用
    7、sapply的用法。
    8、字符串切割函数str_split的 用法。

    代码片段1(字符串切割和字符串正则匹配):

    > (a <- "2017-12-25")
    [1] "2017-12-25"
    > (b <- str_split(a,"-"))
    [[1]]
    [1] "2017" "12"   "25"  
    
    > (c <- str_match(a,"-(.*?)-")[,2])
    [1] "12"
    > 

    代码片段2(sapply函数 运用,功能强大,类似scala map函数,可自定义函数作用于每个元素)

    (d <- c(1,2,3,4,5,6,7,8,9))
    #每个元素乘以2
    (e <- sapply(d,function(x) x*2))
    

    代码片段3(rvest爬虫 管道%>%解析法):

    # 读取网页内容
    page <- html_session(url)
    # 获取电影的链接
    movie_url <- html_nodes(page, 'p>a') %>% html_attr("href")
    
    # 获取电影名称
    movie_name <- html_nodes(page, 'p>a') %>% html_text()

    代码片段4(dplyr包 group_by 和summarise 的用法,分组求和)

    # 聚合操作
    groupby_countrys <- group_by(df, countries)
    df <- summarise(groupby_countrys, Freq = sum(Freq))

    代码片段5(arrange 排序功能)

    # 降序排序
    df <- arrange(df, desc(Freq))

    代码片段6(ggplot 画条形图)

    # 1、参评人数最多的Top10的电影
    # 配置画图的数据
    p <- ggplot(data = arrange(raw_data, desc(evalue_users))[1:10,], 
                mapping = aes(x = reorder(movie_name,-evalue_users), 
                              y = evalue_users)) + 
      # 限制y周的显示范围
      coord_cartesian(ylim = c(500000, 750000)) + 
      # 格式化y轴标签的数值
      scale_y_continuous(breaks = seq(500000, 750000, 100000),
                         labels = paste0(round(seq(500000, 750000, 100000)/10000, 2), 'W')) + 
      # 绘制条形图
      geom_bar(stat = 'identity', fill = 'steelblue') +
      # 添加轴标签和标题
      labs(x = NULL, y = '评价人数', title = '评价人数最多的top10电影') + 
      # 设置x轴标签以60度倾斜
      theme(axis.text.x = element_text(angle = 60, vjust = 0.5),
            plot.title = element_text(hjust = 0.5, colour = 'brown', face = 'bold'))
    
    p

    这里写图片描述

    全部源码学习:

    
    rm(list=ls())
    gc()
    options(scipen = 200)
    
    library(rvest)
    library(stringr)
    library(dplyr)
    library(wordcloud2)
    library(ggplot2)
    
    
    ##################################爬虫部分###########################################
    
    # 指定需要抓取的URL
    url <- 'https://zhuanlan.zhihu.com/p/22561617'
    
    # 读取网页内容
    page <- html_session(url)
    # 获取电影的链接
    movie_url <- html_nodes(page, 'p>a') %>% html_attr("href")
    
    # 获取电影名称
    movie_name <- html_nodes(page, 'p>a') %>% html_text()
    # 获取电影的其他描述信息
    describe <- html_nodes(page, 'p') %>% html_text()
    # 筛选出需要的子集
    describe <- describe[16:443]
    # 通过正则表达式匹配评分
    score <- as.numeric(str_match(describe, '.* (.*?)分')[,2])
    # 通过正则表达式匹配评价人数
    evalue_users <- as.numeric(str_match(describe, '分 (.*?)人评价')[,2])
    # 通过正则表达式匹配电影年份
    year <- as.numeric(str_match(describe, '评价 (.*?) /')[,2])
    
    # 由于生产国和电影类型用/分割,且没有固定的规律,故将生产国和电影类型存入到一个变量中
    other <- sapply(str_split(describe, '/', n = 2),'[',2)
    # 构建数据框
    raw_data <- data.frame(movie_name, movie_url,score,evalue_users,year,other)
    head(raw_data)
    # 将抓取的数据写出到本地
    write.csv(raw_data, 'E:/ID/data/movies.csv', row.names = FALSE)
    
    
    
    ###############################数据处理部分#############################################
    # 需要将电影的其他描述信息进行拆分
    # 前往搜狗官网,下载所有国家名称的字典,再利用“深蓝词库转换”工具,将scel格式的字典转换成txt
    # http://pinyin.sogou.com/dict/detail/index/12347
    countrys <- readLines(file.choose())
    # 把数据集中的other变量进行切割
    cut_other <- str_split(raw_data$other, '/')
    head(cut_other)
    # 删除所有空字符串
    cut_other <- sapply(cut_other, function(x) x[x != " "])
    # 剔除字符串中的收尾空格
    cut_other <- sapply(cut_other, str_trim)
    head(cut_other)
    # 提取出所有关于电影所属国家的信息
    movie_country <- sapply(cut_other, function(x,y) x[x %in% y], countrys)
    head(movie_country)
    # 提取出所有关于电影所属类型的信息
    movie_type <- sapply(cut_other, function(x,y) x[!x %in% y], countrys)
    head(movie_type)
    
    # 数据分析
    # 1、参评人数最多的Top10的电影
    # 配置画图的数据
    p <- ggplot(data = arrange(raw_data, desc(evalue_users))[1:10,], 
                mapping = aes(x = reorder(movie_name,-evalue_users), 
                              y = evalue_users)) + 
      # 限制y周的显示范围
      coord_cartesian(ylim = c(500000, 750000)) + 
      # 格式化y轴标签的数值
      scale_y_continuous(breaks = seq(500000, 750000, 100000),
                         labels = paste0(round(seq(500000, 750000, 100000)/10000, 2), 'W')) + 
      # 绘制条形图
      geom_bar(stat = 'identity', fill = 'steelblue') +
      # 添加轴标签和标题
      labs(x = NULL, y = '评价人数', title = '评价人数最多的top10电影') + 
      # 设置x轴标签以60度倾斜
      theme(axis.text.x = element_text(angle = 60, vjust = 0.5),
            plot.title = element_text(hjust = 0.5, colour = 'brown', face = 'bold'))
    
    p
    
    
    
    # 2、一部经典的电影需要多少国家或地区合拍
    # 统计每一部电影合拍的国家数
    movie_contain_countrys <- sapply(movie_country, length)
    table(movie_contain_countrys)
    # 由于电影的制作包含5个国家及以上的分别只有1部电影,故将5个国家及以上的当做1组
    # 转化为数据框
    df <- as.data.frame(table(movie_contain_countrys))
    # 数据框变量的重命名
    names(df)[1] <- 'countries'
    # 数据类型转换
    df$countries <- as.numeric(as.character(df$countries))
    df$countries <- ifelse(df$countries<=4, df$countries, '5+')
    # 聚合操作
    groupby_countrys <- group_by(df, countries)
    df <- summarise(groupby_countrys, Freq = sum(Freq))
    # 数据类型转换,便于后面可视化
    df$countries <- factor(df$countries)
    df
    
    # 运用环形图对上面的数据进行可视化
    # 定义数据,用于画图
    df$ymax <- cumsum(df$Freq)
    df$ymin <- c(0, cumsum(df$Freq)[-length(df$ymax)])
    # 生成图例标签
    labels <- paste0(df$countries,'(',round(df$Freq/sum(df$Freq)*100,2),'%',')')
    # 绘图
    p <- ggplot(data = df, mapping = aes(xmin = 3, xmax = 4, ymin = ymin, 
                                         ymax = ymax, fill = countries)) + 
      # 矩形几何图
      geom_rect(size = 5) + 
      # 极坐标变换
      coord_polar(theta = 'y') + 
      # 环形图
      xlim(1,4) + 
      # 添加标题
      labs(x = NULL, y =NULL, title = '一部电影需要多少国家合作') + 
      # 设置图例
      scale_fill_discrete(breaks = df$countries, labels = labels) + 
      theme(legend.position = 'right', 
            plot.title = element_text(hjust = 0.5, colour = 'brown', face = 'bold'),
            axis.text = element_blank(),
            axis.ticks = element_blank(),
            panel.grid = element_blank(),
            panel.background = element_blank()
      )
    p
    
    
    # 3、经典电影产量top10都是哪些国家
    # 罗列出所有电影的拍摄国家
    top_countris <- unlist(movie_country)
    # 频数统计,并构造数据框
    df <- as.data.frame(table(top_countris))
    # 降序排序
    df <- arrange(df, desc(Freq))
    df
    # 香港,中国大陆和台湾入围前十,分别是第5,第7和第10名。前三的归美国,英国和日本。美国绝对是量产的国家,远远超过第二名的英国。
    # 运用文字云对上面的数据进行可视化
    wordcloud2(df, backgroundColor = 'black', rotateRatio = 2)
    
    # 4、这些经典电影主要都是属于什么类型
    # 罗列出所有电影的类型
    top_type <- unlist(movie_type)
    # 构造数据框
    df <- as.data.frame(table(top_type))
    # 降序排序
    df <- arrange(df, desc(Freq))
    df
    # 由于几乎所有的电影都贴上剧情这个标签,我们暂不考虑这个类型,看看其他的类型top15分布
    # 去除第一行的(剧情)类型
    df <- df[-1,]
    df$top_type <- as.character(df$top_type)
    # 我们使用条形图来反馈上面的数据情况
    # 提取出前15的类型
    df$top_type <- ifelse(df$top_type %in% df$top_type[1:15], df$top_type, '其他')
    # 数据聚合
    groupby_top_type <- group_by(df, top_type)
    df <- summarise(groupby_top_type, Freq = sum(Freq))
    # 排序
    df <- arrange(df, desc(Freq))
    # 构造数值标签
    labels <- paste(round(df$Freq/sum(df$Freq)*100,2),'%')
    p <- ggplot(data = df, mapping = aes(x = reorder(df$top_type, Freq), y = Freq)) +
      # 绘制条形图
      geom_bar(stat = 'identity', fill = 'steelblue') + 
      # 添加文字标签
      geom_text(aes(label = labels), size = 3, colour = 'black', 
                position = position_stack(vjust = 0.5), angle = 30) + 
      # 添加轴标签
      labs(x = '电影类型', y = '电影数量', title = 'top15的电影类型') + 
      # 重组x轴的标签
      scale_x_discrete(limits = c(df$top_type[df$top_type!='其他'],'其他')) +
      # 主题设置
      theme(plot.title = element_text(hjust = 0.5, colour = 'brown', face = 'bold'),
            panel.background = element_blank())
    p
    # 前三名的电影类型分别为爱情、喜剧和犯罪
    
    # 5、哪些年代的电影好评度比较高
    # 根据年份的倒数第二位,判读所属年代
    raw_data$yearS <- paste0(str_sub(raw_data$year,3,3),'0','S')
    # 对年代聚合
    groupbyYS <- group_by(raw_data, yearS)
    yearS_movies <- summarise(groupbyYS, counts = n())
    # 绘图
    p <- ggplot(data = yearS_movies, 
                mapping = aes(x = reorder(yearS, -counts), 
                              y = counts)) +
      # 绘制条形图
      geom_bar(stat = 'identity', fill = 'steelblue') + 
      # 添加轴标签和标题
      labs(x = '年代', y = '电影数量', title = '各年代的好评电影数量') + 
      # 主题设置
      theme(plot.title = element_text(hjust = 0.5, colour = 'brown', face = 'bold'),
            panel.background = element_blank())
    p
    
    # 6、评分top5的电影类型
    # 所有电影类型
    types <- unique(unlist(movie_type))
    # 定义空的数据框对象
    df = data.frame()
    # 通过循环,抓取出不同标签所对应的电影评分
    for (type in types){
      res = sapply(movie_type, function(x) x == type)
      index = which(sapply(res, any) == 1)
      df = rbind(df,data.frame(type,score = raw_data[index, 'score']))
    }
    # 按电影所属类型,进行summary操作
    type_score <- aggregate(df$score, by = list(df$type), summary)
    # 数据集进行横向拼接为数据框
    type_score <- cbind(Group = type_score$Group.1, as.data.frame(type_score$x))
    # 按平均得分排序
    type_score <- arrange(type_score, desc(Mean))
    type_score
    # 单从电影类型的平均得分来看,灾难片、恐怖片和儿童片位居前三,尽管分别只有3部,2部和12部。
    
    
    # 7、评论人数和评分之间的关系
    p <- ggplot(data = raw_data, mapping = aes(x = evalue_users, y = score)) + 
      # 绘制散点图
      geom_point(colour = 'steelblue') + 
      # 添加一元线性回归拟合线
      geom_smooth(method = 'lm', colour = 'red') + 
      # 添加轴标签和标题
      labs(x = '评论人数', y = '评分', title = '评论人数与评分的关系') + 
      # 设置x轴的标签格式
      scale_x_continuous(breaks = seq(30000, 750000, 100000),
                         labels = paste0(round(seq(30000, 750000, 100000)/10000, 2), 'W')) + 
      scale_y_continuous(breaks = seq(8, 9.6, 0.2)) + 
      # 主题设置
      theme(plot.title = element_text(hjust = 0.5, colour = 'brown', face = 'bold'))
    p  
    展开全文
  • 一个r语言数据分析案例(里面有代码和论文报告),包括对数据的绘图、线性回归和非线性回归,模型的拟合优度,模型的数据预测等等。
  • R语言游戏数据分析与挖掘》谢佳标 代码+数据 R语言游戏数据分析与挖掘》谢佳标 代码+数据 链接:https://pan.baidu.com/s/1UYUHrvcpkF6mS4pBPjmfiw 提取码:0tda

    R语言游戏数据分析与挖掘》谢佳标 代码+数据
    R语言游戏数据分析与挖掘》谢佳标 代码+数据

    链接:https://pan.baidu.com/s/1UYUHrvcpkF6mS4pBPjmfiw
    提取码:0tda

    展开全文
  • 2.1 R安装10 2.2 R使用入门11 2.2.1 R操作界面11 2.2.2 RStudio窗口介绍12 2.2.3 R常用操作13 2.3 R数据分析包16
  • r语言数据统计分析(含代码、数据和论文报告),对20年的人口数据进行线性回归拟合,通过对模型的改进,预测未来的人口。
  • R语言数据分析,资源包里面包含源数据csv文件,课程设计报告,源程序。功能全面,有运行代码原图,有数据介绍,数据分析,包含聚类和关联规则两种算法。
  • 【原创】R语言逻辑回归预测分析付费用户数据分析报告论文(代码数据).docx
  • 本文辑录了《R语言实战——机器学习与数据分析》一书第1章至第3章之代码。 整合R语言深藏不露的强大威力,决胜数据分析之巅。且听我将统计学之精髓娓娓道来,助你砥砺大数据时代的掘金技法。探寻数据挖掘之术,拨开...

    本文辑录了《R语言实战——机器学习与数据分析》(电子工业出版社2016年出版)一书第1章至第3章之代码。本书引言请见如下链接:
    http://blog.csdn.net/baimafujinji/article/details/51596171




    内容简介:本书系统地介绍了统计分析和机器学习领域中最为重要和流行的多种技术及它们的基本原理,在详解有关算法的基础上,结合大量R语言实例演示了这些理论在实践中的使用方法。具体内容被分成三个部分,即R语言编程基础、基于统计的数据分析方法以及机器学习理论。统计分析与机器学习部分又具体介绍了包括参数估计、假设检验、极大似然估计、非参数检验方法(包括列联分析、符号检验、符号秩检验等)、方差分析、线性回归(包括岭回归和Lasso方法)、逻辑回归、支持向量机、聚类分析(包括K均值算法和EM算法)和人工神经网络等内容。同时,统计理论的介绍也为深化读者对于后续机器学习部分的理解提供了很大助益。知识结构和阅读进度的安排上既兼顾了循序渐进的学习规律,亦统筹考虑了夯实基础的必要性

    网上书店地址:

    电子工业出版社官网
    中国互动出版网China-pub
    京东商城(1)
    京东商城(2)


    Chapter 1

    P3

    getwd()
    setwd("d:/Chapter01")

    P5

    ((5+6)*10-100)/2
    sqrt(25)
    exp(1)

    P6

    hi.world <- function() {
    + cat("Hello World!\n")
    + }
    
    hi.world()
    
    n <- 10
    n
    10 -> n
    print(n)
    
    assign("n", 10)
    n=10

    P7

    getwd() # Prints the working directory
    setwd("C:/Temp") # Set "C:/Temp" to be the working directory
    
    library(AER)

    P8~9

    help(exp)
    ?exp
    
    help("for")
    example(exp)
    
    help.search("poisson")
    ??"poisson"
    
    help(package=AER)
    help(files)

    Chapter 2

    P10

    value <- 999; string <- "Language R"
    indicator <- FALSE; complex_num <- 1+1i
    mode(value); mode(string); mode(indicator); mode(complex_num)
    
    n <- 1
    typeof(n)
    n <- 1L
    typeof(n)

    P11

    light_speed <- 3.0e8
    light_speed
    
    5/0
    log(0)
    0/0
    sqrt(-2)
    sqrt(-2+0i) # 按照复数进行运算
    
    1:10
    10:1
    1:10-1
    z <- 1:(10-1) #请注意有无括号的区别

    P12

    z <- seq(1, 5, by=0.5) #等价于seq(from=1, to=5, by=0.5)
    z <- seq(10,100,length=10)
    z <- rep(1:5,2) # 等价于rep(1:5, times=2)
    rep(1:4, each = 2, times = 3)
    rep(1:4, each = 2, len = 4) #因为长度是4,所以仅取前4项
    z <- c(11, 13, 17, 19)
    
    z <- c(11, 13, 19, 23)
    z <- c(z[1:2],17,z[3:4])

    P13

    z <- c(11, 13, 17, 19)
    length(z)
    
    x <- c(1:5)
    print_fun <- function(x){
    + for(i in 1:length(x)){
    + print(x[i])
    + }
    + }
    
    1+2
    "+"(1,2)
    
    x <- c(1,2,3)
    x + c(3,5,7)

    P14~16

    x <- c(1,2,3)
    y <- c(4,6,8,10,12)
    x + y
    
    c(1,2,3,1,2) + c(4,6,8,10,12)
    x * c(0,5,8)
    x <- c(4,25,81)
    x/c(2,5,9)
    
    x <- c(0.1,0.2,0.3,0.4,0.5,0.6)
    x[c(2,4)]
    x[3:5]
    y <- 3:6
    x[y]
    x[c(1,1,5)]
    
    x[-1]
    x[-2:-4]
    
    x[-length(x)]
    x[1:(length(x)-3)]
    
    x <- c(1,3,5,7,11,13,17,19,23,29)
    any(x>10)
    any(x>30)
    all(x>10)
    all(x>=1)
    
    a <- c(-1, 1, -2, 4, -5, 9)
    b <- a[a<0]
    a<0
    a[c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)]
    
    a[a<0] <- 0
    
    a <- c(-1, -2, 0, NA, 2)
    a[a>=0]
    subset(a, a>=0)
    
    a <- c(-5, -3, 0, 3, 5)
    which(a<0)
    

    P17~19

    m <- matrix(c(1,2,3,4,5,6),nrow = 2, ncol = 3)
    m <- matrix(c(1,2,3,4,5,6),nrow = 2, ncol = 4)
    m <- matrix(c(1,2,3,4,5,6),nrow = 2)
    
    m[1,2] #第1 行第2 列的对应元素
    m[2,] #第2 行的全部元素
    m[,3] #第3 列的全部元素
    
    m <- matrix(nrow = 3, ncol = 3)
    m[1,1]<-4;m[1,2]<-9;m[1,3]<-2
    m[2,1]<-3;m[2,2]<-5;m[2,3]<-7
    m[3,1]<-8;m[3,2]<-1;m[3,3]<-6
    
    m <- matrix(c(1,2,3,4,5,6),nrow = 2, byrow = TRUE)
    m[,2:3]
    m[2,2:3]
    
    m[c(1,3),]<-matrix(c(0,9,0,9,0,9),nrow = 2)
    
    a <- matrix(nrow = 3, ncol = 3)
    b <- matrix(c(5,8,6,9), nrow = 2)
    a[2:3,2:3] <- b
    
    m[-2,]
    
    record <- matrix(c(98,75,86,92,78,95),nrow = 2)
    colnames(record) <- c("Math","Physics","Chemistry")
    rownames(record) <- c("John","Mary")
    record
    record["John", "Physics"]
    

    P20

    a <- matrix(c(1,5,3,7),nrow = 2)
    b <- matrix(c(1,0,0,1),nrow = 2)
    a + b
    
    c(1,2,3)+b
    
    z
    z*c(1,2)
    

    P21

    z*c(1,2,3)
    z*c(1,2,3,4)
    
    m/rowSums(m)
    
    3+b
    3*b

    P22

    a <- matrix(c(1,5,3,7),nrow = 2)
    b <- matrix(c(1,0,0,1),nrow = 2)
    a %*% b
    
    new_col <- c(0, 0, 0, 0)
    m <- matrix(rep(1:4, times = 3), nrow = 4 )
    new_m <- cbind(new_col, m)
    
    cbind(c(0,0), m)

    P23~24

    m <- rbind(c(1,2,3),c(4,5,6))
    
    new_m <- m[ ,c(1,3)]
    
    apply(m, dimcode, f, fargs)
    
    apply(m, 2, max)
    
    f <- function(x) {x/sum(x)}
    y <- apply(z,1,f)
    
    y <- t(apply(z,1,f))

    P25

    outlier_value <- function(matrix_row, method_opt){
    + if(method_opt==1){return(max(matrix_row))}
    + if(method_opt==0){return(min(matrix_row))}
    + }
    
    apply(m,1,outlier_value,1)
    apply(m,1,outlier_value,0)
    
    x = rbind(c(11,13,15),c(12,14,16),c(17,19,21))
    
    x[x[,3]%%3==0,]
    
    result <- x[,3]%%3==0
    
    x[result,]

    P26

    which(m%%2==0)
    
    m[m[,1]%%2==1 & m[,2]%%2==1 & m[,3]%%2==1,]
    
    m[m[,1]%%2==1 & m[,2]%%2==1 & m[,3]%%2==1,,drop=FALSE]

    P27

    "["(m, m[,1]%%2==1 & m[,2]%%2==1 & m[,3]%%2==1,,drop=FALSE)
    
    x <- c(10, 20, 30)
    y <-as.matrix(x)

    Chapter 3

    P29~30

    if(length(x) == 0) {
    +   cat("Empty vector!\n")
    + } else {
    +   m = mean(x)
    +   s = sum(x)
    +}
    
    if (x>=0) sqrt(x) else NA
    y <- if (x>=0) sqrt(x) else NA
    
    ifelse(x >= 0, sqrt(x), NA)
    x <- 1:10
    y <- ifelse(x%%2 == 0, 0, 1)

    P31~32

    while(i <= 5) {
    + cat(i," ")
    + i = i+1
    + }
    
    repeat{
    + cat(i, " ")
    + i <- i+1
    + if(i>5) {
    + cat("\n")
    + break
    + }
    + }
    
    for(i in 1:5){
    + cat(i, " ")
    + }
    
    for(i in 1:10){
    + cat(i, " ")
    + if( i >= 5){
    + cat("\n")
    + break
    + }
    + }
    
    for(i in 100:999){
    + a = floor(i/100)
    + b = floor((i-a*100)/10)
    + c = i-a*100-b*10
    +
    + if(a^3+b^3+c^3==i) cat(i,"\n")
    + }

    P33

    x <- c(TRUE, FALSE, TRUE)
    y <- c(TRUE, TRUE, FALSE)
    if(x[1] && y[1]) cat("both TRUE\n")
    if(x & y) cat("both TRUE\n")

    P36

    qnorm(0.975)
    qnorm(0.975, 0, 1)
    
    qnorm(0.975, 1, 1.5)
    qnorm(0.975, sd = 1.5, mean = 1)
    qnorm(sd = 1.5, mean = 1, p = 0.975)

    P37~38

    library(jpeg)
    imgshow <- function(file){
    + img = readJPEG(file)
    + plot(c(0, dim(img)[1]), c(0, dim(img)[1]),
    + type = "n", xlab = "", ylab = "")
    + rasterImage(img, 0, 0, dim(img)[1], dim(img)[1])
    + }
    
    imgshow("C:/lena.jpg")
    
    reverse.list <- function(x){
    + for(i in 1:(length(x)/2)){
    + tmp = x[i]
    + x[i] = x[length(x)-i+1]
    + x[length(x)-i+1] = tmp
    + }
    + return (x)
    + }
    
    reverse.list <- function(x){
    + for(i in 1:(length(x)/2)){
    + tmp = x[i]
    + x[i] = x[length(x)-i+1]
    + x[length(x)-i+1] = tmp
    + }
    + x
    + }

    P39

    Fib <- function(n){
    + if(n<=1) return(n)
    + else return(Fib(n-1)+Fib(n-2))
    + }
    
    Fib.array <- function(n) {
    + for(i in 1:n) {
    + cat(Fib(i)," ")
    + if( i >= n) {
    + cat("\n")
    + break
    + }
    + }
    + }
    Fib.array(8)

    P40

    quicksort <- function(x) {
    + if(length(x) <=1 ) return(x)
    + pivot <- x[1]
    + rest <- x[-1]
    + sv1 <- rest[rest < pivot]
    + sv2 <- rest[rest >=pivot]
    + sv1 <- quicksort(sv1)
    + sv2 <- quicksort(sv2)
    + return(c(sv1, pivot, sv2))
    + }
    
    gcd <- function(a,b) {
    if (b == 0) return(a)
    else return(gcd(b, a %% b))
    }
    
    source("C:/func.R")
    gcd(12,20)
    
    gcd <- edit(gcd)
    gcd2 <- edit(gcd)
    展开全文
  • 【原创】R语言使用Rasch模型分析学生答题能力数据分析报告论文(代码数据).docx
  • 本文辑录了《R语言实战——机器学习与数据分析》一书第9章至第11章之代码。 整合R语言深藏不露的强大威力,决胜数据分析之巅。且听我将统计学之精髓娓娓道来,助你砥砺大数据时代的掘金技法。探寻数据挖掘之术,拨开...

    本文辑录了《R语言实战——机器学习与数据分析》(电子工业出版社2016年出版)一书第9章至第11章之代码。本书引言请见如下链接:
    http://blog.csdn.net/baimafujinji/article/details/51596171




    内容简介:本书系统地介绍了统计分析和机器学习领域中最为重要和流行的多种技术及它们的基本原理,在详解有关算法的基础上,结合大量R语言实例演示了这些理论在实践中的使用方法。具体内容被分成三个部分,即R语言编程基础、基于统计的数据分析方法以及机器学习理论。统计分析与机器学习部分又具体介绍了包括参数估计、假设检验、极大似然估计、非参数检验方法(包括列联分析、符号检验、符号秩检验等)、方差分析、线性回归(包括岭回归和Lasso方法)、逻辑回归、支持向量机、聚类分析(包括K均值算法和EM算法)和人工神经网络等内容。同时,统计理论的介绍也为深化读者对于后续机器学习部分的理解提供了很大助益。知识结构和阅读进度的安排上既兼顾了循序渐进的学习规律,亦统筹考虑了夯实基础的必要性

    网上书店地址

    电子工业出版社官网
    中国互动出版网China-pub
    京东商城(1)
    京东商城(2)


    Chapter 9

    P184~185

    chisq.test(c(25, 18, 28, 20, 16, 13))
    
    
    pchisq(42.252,6,lower.tail=F)

    P186~188

    
    alcohol.by.nicotine <- matrix(c(105, 7, 11,
    + 58, 5, 13,
    + 84, 37, 42,
    + 57, 16, 17), nrow = 4, byrow = TRUE)
    
    chisq.test(alcohol.by.nicotine)
    
    aluminium.by.alzheimers <- matrix(c(112, 3, 5, 8,
    +114, 9, 3, 2), nrow=2, byrow = TRUE)
    (a.by.a.test <- chisq.test(aluminium.by.alzheimers))
    
    a.by.a.test$expected
    
    chisq.test(aluminium.by.alzheimers, simulate.p.value = TRUE)
    
    aluminium.by.alzheimers <- matrix(c(112, 3, 13,
    +114, 9, 5), nrow=2, byrow = TRUE)
    (a.by.a.test <- chisq.test(aluminium.by.alzheimers))
    

    P189~190

    dhyper(c(0,1,2,3,4,5), 31, 16, 5)
    
    0.002847571 + 0.036781124
    
    handedness <- matrix(c(1, 30, 4, 12), nrow = 2, byrow = TRUE)
    fisher.test(handedness)

    P192~195

    pnorm(-2.232625)
    
    pbinom(23, 65, 0.5)
    
    pbinom(1, 8, 0.5)*2
    
    binom.test(sum(x>99), length(x), alternative = "less")
    
    pbinom(4, 19, prob = 0.5, lower.tail = TRUE) * 2

    P197~198

    x=c(4.12,5.81,7.63,9.74,10.39,11.92,12.32,12.89,13.54,14.45)
    wilcox.test(x-8, alternative = "greater")
    
    x <- c(1.83, 0.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30)
    y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)
    ## wilcox.test(y - x, alternative = "less")
    wilcox.test(x, y, paired = TRUE, alternative = "greater")
    
    wilcox.test(y - x, alternative = "less",
    +exact = FALSE, correct = FALSE)

    P201

    placebo <- c(0.90, 0.37, 1.63, 0.83, 0.95,
    + 0.78, 0.86, 0.61, 0.38, 1.97)
    
    alcohol <- c(1.46, 1.45, 1.76, 1.44, 1.11,
    + 3.07, 0.98, 1.27, 2.56, 1.32)
    wilcox.test(placebo, alcohol, alternative = "less", exact = TRUE)
    

    P203~204

    pnorm(3.817159, lower.tail = FALSE)
    
    before <- c(11.0, 11.2, 11.2, 11.2, 11.4,
    + 11.5, 11.6, 11.7, 11.8, 11.9, 11.9, 12.1)
    after <- c(10.2, 10.3, 10.4, 10.6, 10.6,
    + 10.7, 10.8, 10.8, 10.9, 11.1, 11.1, 11.3)
    wilcox.test(before, after, alternative = "greater",
    + exact = FALSE, correct = FALSE)
    

    P206~207

    
    pchisq(df = 2, 7.505538, lower.tail = FALSE)
    
    x <-c(4.2, 3.3, 3.7, 4.3, 4.1, 3.3)
    y <-c(4.5, 4.4, 3.5, 4.2, 4.6, 4.2)
    z <-c(5.6, 3.6, 4.5, 5.1, 4.9, 4.7)
    kruskal.test(list(x, y, z))
    

    Chapter10

    P211

    cars <- read.csv("c:/racv.csv")
    plot(lp100km ~ mass.kg, data=cars,
    + xlab="Mass (kg)", ylab="Fuel consumption (l/100km)")
    abline(lm(lp100km ~ mass.kg, data = cars))

    P216~218

    plants <- data.frame(age = rep(2:7, rep(4, 6)),
    + height = c(5.6, 4.8, 5.3, 5.7, 6.2, 5.9, 6.4, 6.1,
    + 6.2, 6.7, 6.4, 6.7, 7.1, 7.3, 6.9, 6.9,
    + 7.2, 7.5, 7.8, 7.8, 8.9, 9.2, 8.5, 8.7))
    
    plants.lm <- lm(height ~ age, data = plants)
    summary(plants.lm)
    
    plot(height ~ age, data = plants)
    abline(plants.lm)

    P219

    cars.lm <- lm(lp100km ~ mass.kg, data = cars)
    par(mfrow = c(2, 2))
    plot(cars.lm)

    P222

    plot(Std_Residuals ~ Leverage, xlab="Leverage",
    + ylab="Standardized residuals",
    + xlim=c(0,0.21), ylim=c(-2,2), main = "Residuals vs Leverage")
    abline(v = 0.0, h = 0.0, lty=3, col = "gray60")
    par(new=TRUE)
    lines(lowess(Std_Residuals~Leverage ), col = 'red')

    P227

    summary(cars.lm)
    
    confint(cars.lm)

    P232~234

    qf(0.05, 1, 22, lower.tail = FALSE)
    
    pf(248.2238923, 1, 22, lower.tail = FALSE)
    
    2*(1-pt(15.75484,22))

    P237~238

    predict(plants.lm,
    + newdata = data.frame(age = 4),
    + interval = "confidence")
    
    predict(plants.lm,
    + newdata = data.frame(age = 4),
    + interval = "prediction")

    Chapter11

    P244

    pai = c(4, 18, 14, 18, 26, 26, 21, 30, 28, 36, 65, 62, 40)
    iron = c(61, 175, 111, 124, 130, 173, 169, 169, 160, 244, 257, 333, 199)
    aluminium = c(13, 21, 24, 23, 64, 38, 33, 61, 39, 71, 112, 88, 54)
    pairs(~pai+iron+aluminium, labels = c("Phosphate \nAbsorption Index",
    + "Amount of \nExtractable Iron","Amount of \nExtractable Aluminium"),
    + main ="Scatterplot Matrices")
    
    soil.lm <- lm(pai ~ iron + aluminium)
    summary(soil.lm)

    P248~250

    pf(92.03, 2, 10, lower.tail=FALSE)
    
    2*(1-pt(2.109,10))
    2*(1-pt(3.797,10))
    2*(1-pt(4.894,10))

    P251~252

    predict(soil.lm, newdata = data.frame(iron=150, aluminium=40),
    + interval = "prediction")
    
    qt(0.025, 10, lower.tail = FALSE)
    
    soil.lm$residuals
    
    23.51929 - 2.228139 * sqrt(1+0.08958766) * 4.379375
    23.51929 + 2.228139 * sqrt(1+0.08958766) * 4.379375
    
    predict(soil.lm, newdata = data.frame(iron=150, aluminium=40),
    + interval = "confidence")
    
    23.51929 - 2.228139 * sqrt(0.08958766) * 4.379375
    23.51929 + 2.228139 * sqrt(0.08958766) * 4.379375

    P256~257

    x <- c(6.8, 5.5, 5.5, 6.7, 5.5, 5.7, 5.2, 4.5, 3.8, 3.8, 3.6, 3.5)
    y <- c(4.2, 3.5, 3.4, 3.0, 3.4, 2.8, 2.8, 3.6, 4.3, 5.0, 6.1, 6.7)
    
    phillips.lm.1 <- lm(y ~ x)
    coef(phillips.lm.1)
    
    x.rec <- 1/x
    phillips.lm.2 <- lm(y ~ x.rec)
    coef(phillips.lm.2)
    
    par(mfrow = c(1,2))
    plot(y ~ x, xlim = c(3.5, 7), ylim = c(2.8, 7),
    + main = "Phillips Curve (Linear Model)")
    
    abline(phillips.lm, col = "red")
    plot(y ~ x, xlim = c(3.5, 7), ylim = c(2.8, 7),
    + main = "Phillips Curve (Reciprocal Model)")
    par(new=TRUE)
    curve(-0.2594+20.5879*(1/x), xlim = c(3.5, 7), ylim = c(2.8, 7),
    + col = "red", ylab= "", xlab = "")

    P259~261

    plants.lm.1 <- lm(height ~ age, data = plants)
    plants.lm.3 <- lm(height ~ age + I(age^2) + I(age^3), data = plants)
    
    summary(plants.lm.3)
    
    plot(height ~ age, data = plants, xlab="Age (y)", ylab="Height (ft)")
    curve(predict(plants.lm.1,
    + newdata=data.frame(age = x)), add=TRUE, col="red")
    curve(predict(plants.lm.3,
    + newdata=data.frame(age = x)), add=TRUE, col="blue")
    
    anova(plants.lm.1, plants.lm.3)

    P264~265

    n <- 13
    p <- 3
    rss <- sum(soil.lm$residuals * soil.lm$residuals)
    
    AIC(soil.lm)
    n + n * log(2 * pi) + n * log(rss/n) + 2 * (p+1)
    
    BIC(soil.lm)
    AIC(soil.lm, k = log(n))
    n + n * log(2 * pi) + n * log(rss/n) + log(n) * (p+1)
    
    extractAIC(soil.lm)
    n * log(rss/n) + 2 * p
    extractAIC(soil.lm, k = log(n))
    n * log(rss/n) + log(n) * p
    
    heat <- read.csv("c:/cement.csv")

    P266~268

    heat.lm1 <- lm(y~x1+x2+x3+x4, data=heat)
    step(heat.lm1, ~.)
    
    step(heat.lm1, ~.,direction = "backward")
    
    heat.lm2 <- lm(y~1, data=heat)
    step(heat.lm2, ~. + x1 + x2 + x3 + x4)
    
    step(heat.lm2, ~. + x1 + x2 + x3 + x4, direction = "forward")
    展开全文
  • 本文辑录了《R语言实战——机器学习与数据分析》一书第6章至第7章前半部分(至136页)之代码。整合R语言深藏不露的强大威力,决胜数据分析之巅。且听我将统计学之精髓娓娓道来,助你砥砺大数据时代的掘金技法。探寻...
  • 评论数据采集289 15.2.2 评论预处理292 15.2.3 文本评论分词297 15.2.4 模型构建298
  • 【基于R语言的数据挖掘数据分析实操案例】 【2000到2015年豆瓣共47000部电影数据分析】 第一章 数据抓取 第二章 整理电影属性 第三章 整理电影属性 第四章 这样的图表才专业 第五章 频率密度图学会ggplot2 配件 第六...
  • 由于工作的需要,我已经学习了几天的R语言了,我的工作是数据分析,有时候会用到一些计算机语言,比如Python,SQL,SAS和R语言,因为不同公司要求也是不一样的,还是那句话人为刀俎我为鱼肉,学习没有亏吃。...
  • R R 原创 语言案例数据分析报告论文附代码数据 原创 语言案例数据分析报告论文附代码数据 有问题到淘宝找大数据部落就可以了 有问题到淘宝找大数据部落就可以了 语言案例数据分析可视化报告 R 语言案例数据分析可视...
  • 二、解决方案:R语言提供 xlsx 包 ,可以获取Excel中的数据。三、代码实现:#安装xlsx包if(!suppressWarnings(require(xlsx))){install.packages(“xlsx”)require(xlsx)}#1数据格式为.xlsexcel_dat
  • R语言数据挖掘》R代码和案例数据《R语言数据挖掘》R代码和案例数据《R语言数据挖掘》R代码和案例数据
  • R语言数据分析练习:K-Means聚类

    万次阅读 2021-03-19 23:31:59
    R语言数据分析练习:K-Means聚类 题目: 在篮球运动中,一般情况下,控球后卫与得分后卫的助攻数较多,小前锋的得分数较多,而大前锋与中锋的助攻数与得分数较少。下表为21名篮球运动员每分钟助攻数和每分钟得分数...
  • 本文完整论文报告下载地址(附代码和数据):人口数据分析与预测 部分展示: 数据来源:国家统计局 下载最近20年的人口年度数据,包括年末总人口(万人)、男性人口(万人)、女性人口(万人)、城镇人口(万人)、农村人口...
  • R语言泰坦尼克号随机森林案例数据分析报告(附代码数据)
  • 本文辑录了《R语言实战——机器学习与数据分析》一书第7章后半部分(137页~145页)至第8章之代码。整合R语言深藏不露的强大威力,决胜数据分析之巅。且听我将统计学之精髓娓娓道来,助你砥砺大数据时代的掘金技法。...
  • 文本挖掘,电子商务,情感分析,模型建立,数据整理
  • R语言1-面板数据分析全过程 附代码

    千次阅读 2020-05-30 11:44:07
    R语言1-面板数据分析全过程 附代码 用途 面板数据常见于计量经济学领域,本质上是一种线性回归方法。截面数据和时间序列数据的组合可以更多的反应数据情况,同时也需要克服二者都存在的问题。 数据初步处理 在Excel...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 165,194
精华内容 66,077
关键字:

r语言数据分析代码