您的位置:首页 > 教育 > 培训 > seo0577_合肥做网站做推广_广州seo推荐_seo搜索优化培训

seo0577_合肥做网站做推广_广州seo推荐_seo搜索优化培训

2024/10/5 19:20:47 来源:https://blog.csdn.net/weidl001/article/details/142473289  浏览:    关键词:seo0577_合肥做网站做推广_广州seo推荐_seo搜索优化培训
seo0577_合肥做网站做推广_广州seo推荐_seo搜索优化培训

目录

引言

环境搭建

安装R

安装RStudio

RStudio界面简介

基础语法

注释

数据类型与数据结构

原子向量

数据结构

基本运算符

算术运算符

比较运算符

逻辑运算符

常用函数

数据操作

数据导入

读取CSV文件

读取Excel文件

连接数据库

数据清洗

处理缺失值

数据类型转换

数据变换

安装并加载dplyr

常用函数

数据可视化

基础绘图

绘制散点图

绘制直方图

高级绘图:ggplot2

安装并加载ggplot2

基本用法

常用图形

自定义图形

统计分析

描述性统计

常用指标

计算众数的示例

推断性统计

t检验

卡方检验

方差分析(ANOVA)

回归分析

简单线性回归

多元线性回归

回归模型诊断

实践项目

案例一:数据探索性分析(EDA)

案例二:建立回归模型预测房价

扩展内容

创建Shiny应用

安装并加载Shiny

简单的Shiny应用示例

运行应用

使用R Markdown生成报告

安装并加载rmarkdown

创建R Markdown文件

编写内容

绘图


引言

R语言是一种用于统计分析、数据挖掘和数据可视化的开源编程语言和软件环境。自1993年由Ross Ihaka和Robert Gentleman开发以来,R语言凭借其强大的统计计算能力和丰富的可视化功能,已成为数据科学家和统计学家不可或缺的工具。

学习目标:

  • 理解R语言的基本语法和数据结构
  • 掌握数据导入、清洗和变换的方法
  • 能够使用R进行数据可视化和统计分析
  • 熟悉常用的R扩展包,提高数据处理效率
  • 通过实践项目巩固所学知识

环境搭建

安装R

R语言支持多种操作系统,包括Windows、macOS和Linux。

各操作系统安装步骤:

  • Windows:

    1. 访问R的CRAN镜像站点下载最新的Windows安装包。
    2. 运行安装程序,按照提示完成安装。
  • macOS:

    1. 访问CRAN的macOS页面下载适合您系统的安装包。
    2. 双击安装包,按照指引完成安装。
  • Linux:

    • 使用包管理器安装,如Ubuntu下执行:

      sudo apt-get update sudo apt-get install r-base

安装RStudio

RStudio是一款强大的R语言集成开发环境,提供了友好的用户界面和丰富的功能。

安装步骤:

  1. 访问RStudio官网下载适合您操作系统的安装包。
  2. 运行安装程序,按照提示完成安装。

RStudio界面简介

RStudio主要由以下几个区域组成:

  • 脚本编辑器:编写和编辑R脚本。
  • 控制台:直接输入R命令并立即执行。
  • 环境/历史:查看当前工作空间中的变量和命令历史。
  • 文件/图形/包/帮助:管理文件、查看绘图结果、安装和加载包、查看帮助文档。

基础语法

注释

  • 单行注释:以#开头。

    # 这是一个单行注释

数据类型与数据结构

原子向量

R中的基本数据类型都是向量,分为以下几种:

数据类型描述示例
数值型实数,例如整数和小数x <- 42
整数型整数,加后缀L表示y <- 42L
字符型文本字符串name <- "Alice"
逻辑型布尔值,TRUEFALSEflag <- TRUE
复数型复数z <- 1+2i
数据结构
数据结构描述示例
向量同一类型的元素集合v <- c(1, 2, 3)
因子分类数据,存储为整数并有标签f <- factor(c("男", "女", "男"))
列表可包含不同类型元素的集合lst <- list(name="Alice", age=25)
矩阵二维的同类型元素集合m <- matrix(1:6, nrow=2, ncol=3)
数据框表格形式的数据集df <- data.frame(id=1:3, score=c(85,90,95))
数组多维的同类型元素集合arr <- array(1:8, dim=c(2,2,2))

基本运算符

算术运算符
运算符描述示例
+加法2 + 3
-减法5 - 2
*乘法2 * 3
/除法6 / 2
^2 ^ 3
%%取模5 %% 2(结果为1)
%/%整除5 %/% 2(结果为2)
比较运算符
运算符描述示例
==等于x == y
!=不等于x != y
>大于x > y
<小于x < y
>=大于等于x >= y
<=小于等于x <= y
逻辑运算符
运算符描述示例
&元素级与x & y
``元素级或
!!x
&&短路与x && y(仅检查第一个元素)
``

常用函数

  • 赋值<-=

     
    x <- 10
    y = 20
    

  • 查看对象类型class()

     
    class(x)  # 输出 "numeric"
    

  • 求长度length()

     
    length(c(1, 2, 3))  # 输出 3
    

  • 删除对象rm()

     
    rm(x)  # 删除变量x
    

数据操作

数据导入

读取CSV文件
data <- read.csv("data.csv", header=TRUE, sep=",")
读取Excel文件

需要先安装并加载readxl包:

 
install.packages("readxl")
library(readxl)
data <- read_excel("data.xlsx", sheet=1)

连接数据库

以连接MySQL为例:

 
install.packages("RMySQL")
library(RMySQL)
conn <- dbConnect(MySQL(), dbname="dbname", host="host", user="user", password="password")
data <- dbGetQuery(conn, "SELECT * FROM tablename")

数据清洗

处理缺失值
  • 检查缺失值is.na()

    sum(is.na(data))  # 统计缺失值数量
    
  • 删除缺失值na.omit()

    data_clean <- na.omit(data)
    
  • 填充缺失值

    data[is.na(data)] <- 0  # 将缺失值替换为0
    
数据类型转换
  • 转换为因子

    data$gender <- as.factor(data$gender)
    
  • 转换为数值型

    data$age <- as.numeric(data$age)
    

数据变换

使用dplyr包对数据进行操作。

安装并加载dplyr
install.packages("dplyr")
library(dplyr)
常用函数
函数描述示例
filter()筛选行filter(data, age > 30)
select()选择列select(data, name, age)
arrange()排序arrange(data, desc(age))
mutate()添加新列mutate(data, age_group = ifelse(age > 30, "老年", "青年"))
summarise()汇总summarise(data, avg_age = mean(age))
group_by()分组data %>% group_by(gender) %>% summarise(count = n())

数据可视化

基础绘图

使用R的基础绘图系统进行简单的绘图。

绘制散点图
plot(data$x, data$y, main="散点图", xlab="X轴", ylab="Y轴", col="blue")
绘制直方图
hist(data$age, breaks=10, main="年龄分布直方图", xlab="年龄", col="green")

高级绘图:ggplot2

ggplot2是R中最流行的绘图包,基于语法层次的绘图理念。

安装并加载ggplot2
install.packages("ggplot2")
library(ggplot2)
基本用法
ggplot(data, aes(x=age, y=income)) + geom_point()
常用图形
图形类型函数示例
柱状图geom_bar()ggplot(data, aes(x=gender)) + geom_bar()
折线图geom_line()ggplot(data, aes(x=year, y=sales)) + geom_line()
箱线图geom_boxplot()ggplot(data, aes(x=group, y=value)) + geom_boxplot()
密度图geom_density()ggplot(data, aes(x=variable)) + geom_density()
自定义图形
  • 添加标题和标签

    ggplot(data, aes(x=age, y=income)) +geom_point() +ggtitle("年龄与收入关系图") +xlab("年龄") +ylab("收入")
    
  • 调整主题

    ggplot(data, aes(x=age, y=income)) +geom_point() +theme_minimal()
    

统计分析

描述性统计

常用指标
指标函数示例
均值mean()mean(data$age)
中位数median()median(data$income)
众数自定义函数见下方示例
方差var()var(data$age)
标准差sd()sd(data$income)
四分位数quantile()quantile(data$age)
计算众数的示例
get_mode <- function(v) {uniqv <- unique(v)uniqv[which.max(tabulate(match(v, uniqv)))]
}
mode_age <- get_mode(data$age)

推断性统计

t检验

用于比较两个样本均值是否有显著差异。

t.test(data$score ~ data$group)
卡方检验

用于检验分类变量之间的独立性。

chisq.test(table(data$gender, data$purchase))
方差分析(ANOVA)

用于比较多个组的均值差异。

anova_result <- aov(score ~ group, data=data)
summary(anova_result)

回归分析

简单线性回归
model <- lm(income ~ age, data=data)
summary(model)
多元线性回归
model <- lm(income ~ age + education + experience, data=data)
summary(model)
回归模型诊断
plot(model)

实践项目

案例一:数据探索性分析(EDA)

目标:

  • mtcars数据集进行探索性分析
  • 了解不同变量之间的关系
  • 可视化数据特征

步骤:

  1. 加载数据集

    data <- mtcars
    
  2. 查看数据结构

    str(data)
    summary(data)
    
  3. 计算描述性统计量

    mean_mpg <- mean(data$mpg)
    median_mpg <- median(data$mpg)
    sd_mpg <- sd(data$mpg)
    
  4. 绘制相关矩阵图

    pairs(data)
    
  5. 使用ggplot2绘制散点图

    ggplot(data, aes(x=wt, y=mpg)) +geom_point() +geom_smooth(method="lm") +ggtitle("汽车重量与油耗关系图") +xlab("重量") +ylab("每加仑英里数")
    

案例二:建立回归模型预测房价

数据集:

使用波士顿房价数据集(Boston),需要先安装并加载MASS包。

步骤:

  1. 加载数据集

    library(MASS)
    data <- Boston
  2. 查看数据结构

    str(data)
    summary(data)
  3. 分割训练集和测试集

    set.seed(123)
    index <- sample(1:nrow(data), 0.7 * nrow(data))
    train <- data[index, ]
    test <- data[-index, ]
  4. 建立线性回归模型

    model <- lm(medv ~ ., data=train)
    summary(model)
  5. 模型评估

    predictions <- predict(model, newdata=test)
    actuals <- test$medv
    mse <- mean((predictions - actuals)^2)
    print(paste("均方误差(MSE):", round(mse, 2)))

  6. 可视化结果

    plot(actuals, predictions,main="实际值 vs 预测值",xlab="实际房价",ylab="预测房价",pch=16, col="blue")
    abline(0, 1, col="red", lwd=2)
    

扩展内容

创建Shiny应用

Shiny是R中的一个包,用于构建交互式Web应用。

安装并加载Shiny
install.packages("shiny")
library(shiny)
简单的Shiny应用示例
# 保存为app.R
library(shiny)ui <- fluidPage(titlePanel("Hello Shiny!"),sidebarLayout(sidebarPanel(sliderInput("bins","选择柱状图的分箱数:",min = 1,max = 50,value = 30)),mainPanel(plotOutput("distPlot")))
)server <- function(input, output) {output$distPlot <- renderPlot({x <- faithful$eruptionsbins <- seq(min(x), max(x), length.out = input$bins + 1)hist(x, breaks = bins, col = "darkgray", border = "white",xlab = "喷发持续时间(分钟)",main = "老忠实泉喷发持续时间直方图")})
}shinyApp(ui = ui, server = server)
运行应用
runApp("app.R")

使用R Markdown生成报告

R Markdown是一种基于Markdown的文档格式,支持嵌入R代码,自动生成报告。

安装并加载rmarkdown
install.packages("rmarkdown")
library(rmarkdown)
创建R Markdown文件

在RStudio中,选择File -> New File -> R Markdown,按照提示创建。

编写内容
---
title: "数据分析报告"
author: "Your Name"
date: "`r Sys.Date()`"
output: html_document
---# 简介这是一个使用R Markdown生成的报告示例。# 数据加载```{r}
data <- mtcars
summary(data)

绘图

library(ggplot2)
ggplot(data, aes(x=wt, y=mpg)) + geom_point()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com