---
title: "R 语言中plot()函数和ecdf()函数的使用示例"
author: "cnliutz"
date: "2025-05-18"
output:
html_document:
df_print: paged
---
以下是 R 语言中plot()函数和ecdf()函数的使用示例,包含基础用法和可视化展示:
# 1. plot()函数基础用法示例
```{r}
# 示例1: 绘制散点图
x <- 1:10
y <- x^2
plot(x, y, main="散点图示例", xlab="X轴", ylab="Y轴", pch=16, col="blue")
# 示例2: 绘制折线图
x <- seq(0, 2*pi, length.out=100)
y <- sin(x)
plot(x, y, type="l", main="正弦曲线", xlab="角度(弧度)", ylab="正弦值", col="red")
# 示例3: 添加点和线到现有图表
points(x[1:20], y[1:20], pch=19, col="green") # 添加绿色点
lines(x[21:40], y[21:40], lwd=2, col="purple") # 添加紫色线
# 示例4: 绘制箱线图
data <- list(组A=rnorm(50, 5, 1), 组B=rnorm(50, 7, 1.5))
boxplot(data, main="箱线图比较", ylab="数值")
```
## 2. ecdf()累积分布函数示例
```{r}
# 生成随机数据
set.seed(123) # 设置随机种子确保结果可重现
data <- rnorm(1000, mean=0, sd=1) # 生成1000个正态分布随机数
# 计算经验累积分布函数(ECDF)
empirical_cdf <- ecdf(data)
# 查看特定值的累积概率
print(paste("x <= 0的概率:", empirical_cdf(0))) # 约为0.5
print(paste("x <= 1.96的概率:", empirical_cdf(1.96))) # 约为0.975
# 绘制ECDF图
plot(empirical_cdf,
main="正态分布的经验累积分布函数",
xlab="x值",
ylab="累积概率",
col="blue",
lwd=2)
# 添加理论CDF曲线作为对比
curve(pnorm(x, mean=0, sd=1),
add=TRUE,
col="red",
lwd=2,
lty=2) # 添加标准正态分布的理论CDF曲线
# 添加图例
legend("topleft",
legend=c("经验CDF", "理论CDF"),
col=c("blue", "red"),
lwd=2,
lty=c(1, 2))
```
## 3. 自定义 ECDF 图示例
```{r}
# 使用ggplot2绘制更美观的ECDF图
library(ggplot2)
# 生成两组数据进行比较
group1 <- rnorm(100, mean=5, sd=1)
group2 <- rnorm(100, mean=7, sd=1.5)
# 创建数据框
df <- data.frame(
value = c(group1, group2),
group = rep(c("组A", "组B"), each = 100)
)
# 使用ggplot2绘制ECDF图
ggplot(df, aes(x = value, color = group)) +
stat_ecdf(size = 1) +
labs(
title = "两组数据的累积分布函数比较",
x = "数值",
y = "累积概率",
color = "组别"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 12),
legend.position = "bottom"
) +
scale_color_manual(values = c("组A" = "#3366CC", "组B" = "#CC6677"))
```
分类: R语言
-
R语言plot()和概率密度ecdf()绘图函数
-
R语言数据可视化
R note book 文档--输出html格式文档,plotly不能生成PDF文件 --- title: "R语言数据可视化" output: html_notebook --- 在R语言中进行数据可视化是数据分析和呈现的重要环节,R提供了多种强大的绘图系统和工具。以下是常见的数据可视化方法和示例,从基础到高级逐步介绍: ### **1. 基础绘图系统(Base R Graphics)** R内置的基础绘图函数,适合快速生成简单图表。 #### **散点图** ```{r} # 示例数据 x <- 1:10 y <- x^2 # 绘制散点图 plot(x, y, main = "散点图示例", # 标题 xlab = "X轴", ylab = "Y轴", # 坐标轴标签 pch = 16, # 点的形状 col = "blue", # 点的颜色 cex = 1.5) # 点的大小 ``` #### **折线图** ```{r} # 生成数据 time <- seq(1, 10, by = 0.5) values <- sin(time) # 绘制折线图 plot(time, values, type = "l", # type="l"表示折线图 main = "正弦曲线", xlab = "时间", ylab = "值", col = "red", lwd = 2) # 线宽为2 ``` #### **箱线图** ```{r} # 使用内置数据集mtcars data(mtcars) # 按气缸数(cyl)分组绘制mpg的箱线图 boxplot(mpg ~ cyl, data = mtcars, main = "不同气缸数车辆的MPG分布", xlab = "气缸数", ylab = "每加仑英里数(MPG)", col = c("lightblue", "lightgreen", "lightpink")) ``` ### **2. ggplot2包(推荐)** 基于图形语法的高级绘图系统,适合创建复杂、精美的图表。 #### **安装与加载** ```{r} #install.packages("ggplot2") # 首次使用需安装 library(ggplot2) ``` #### **散点图** ```{r} # 使用内置数据集iris ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point(size = 3) + # 散点图层 labs(title = "鸢尾花萼片长度与宽度关系", x = "萼片长度(cm)", y = "萼片宽度(cm)") + theme_minimal() # 使用简洁主题 ``` #### **柱状图** ```{r} # 统计不同Species的数量 ggplot(iris, aes(x = Species)) + geom_bar(fill = "skyblue", color = "black") + # 柱状图层 labs(title = "鸢尾花种类分布", x = "种类", y = "数量") + theme_classic() # 使用经典主题 ``` #### **箱线图与小提琴图** ```{r} ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) + geom_boxplot(alpha = 0.7) + # 箱线图层 geom_violin(alpha = 0.3) + # 小提琴图层(显示密度分布) labs(title = "不同种类鸢尾花花瓣长度分布", x = "种类", y = "花瓣长度(cm)") ``` ### **3. 高级可视化** #### **热图(Heatmap)** ```{r} # 使用内置数据集mtcars cor_matrix <- cor(mtcars) # 计算相关系数矩阵 # 绘制热图 heatmap(cor_matrix, main = "汽车特征相关性热图", col = cm.colors(256), # 颜色渐变 scale = "column") # 按列标准化 ``` #### **直方图与密度图** ```{r} # 使用ggplot2绘制直方图与密度图 ggplot(iris, aes(x = Sepal.Length)) + geom_histogram(aes(y = ..density..), # 直方图(显示密度) bins = 15, fill = "lightblue", color = "black") + geom_density(alpha = 0.2, fill = "blue") + # 密度曲线 facet_wrap(~ Species) + # 按种类分面 labs(title = "鸢尾花萼片长度分布", x = "萼片长度(cm)", y = "密度") ``` #### **气泡图(散点图+大小/颜色映射)** ```{r} # 使用ggplot2绘制气泡图 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point(aes(size = Petal.Length, color = Species), alpha = 0.7) + # alpha设置透明度 scale_size_continuous(range = c(2, 10)) + # 控制点大小范围 labs(title = "鸢尾花特征气泡图", x = "萼片长度(cm)", y = "萼片宽度(cm)", size = "花瓣长度", color = "种类") + theme_bw() # 使用黑白主题 ``` ### **4. 交互式可视化(plotly)** 创建可交互的图表,适合网页展示或数据分析。 #### **安装与基本用法** ```{r} #install.packages("plotly") library(plotly) # 将ggplot2图表转为交互式 p <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point(size = 3) ggplotly(p) # 转为交互式图表 ``` #### **3D散点图** ```{r} # 创建3D散点图 plot_ly(iris, x = ~Sepal.Length, y = ~Sepal.Width, z = ~Petal.Length, color = ~Species, type = "scatter3d", mode = "markers") %>% layout(title = "鸢尾花3D特征散点图") ``` ### **5. 数据可视化注意事项** 1. **选择合适的图表类型**:根据数据类型和分析目的选择(如比较用柱状图,分布用箱线图,关系用散点图)。 2. **保持简洁**:避免过多装饰元素,确保数据是焦点。 3. **使用适当的颜色**:避免使用过于鲜艳或难以区分的颜色,考虑色盲用户。 4. **添加必要标签**:确保图表标题、坐标轴标签、图例清晰。 5. **优化布局**:合理安排图表大小、比例和间距。 ### **6. 资源推荐** - **ggplot2官方文档**:https://ggplot2.tidyverse.org/ - **R Graphics Cookbook**:https://r-graphics.org/ - **Plotly for R**:https://plotly.com/r/ 通过以上方法,你可以在R中创建从简单到复杂的各种数据可视化图表,满足不同的分析和展示需求。 -
R语言数据框(datafram)数据的简单分析
代码完成的功能:
- 创建数据集(数据框),
- 写入到文件中,
- 显示数据,
- 分组计算平均年龄,
在Rstudio中,创建R markdown或R notebook文件运行。以下是添加了注释的完整R代码,解释了每个步骤的功能和目的:
# R Notebook文档设置 title: "R Notebook" output: html_notebook # 创建示例数据集 age = c(22,25,45,33,55) # 创建年龄向量 name = c("Ken","Jhon","Daliu","Lisa","Jack") # 创建姓名向量 gender = c("M","F","F","M","F") # 创建性别向量(M=男,F=女) area = c("City","Rural","City","Rural","Rural") # 创建区域向量 df <- data.frame(area,name,gender,age) # 组合向量为数据框 # 将数据保存为CSV文件 write.table(df,file = "~/python/name_age.csv", # 指定保存路径 row.names = FALSE, # 不保存行名 col.names = TRUE, # 保存列名 quote = FALSE) # 不使用引号包裹文本 # 显示数据框内容并绘制年龄趋势图 df # 打印数据框内容 plot(df[["age"]],ylab = "age",type = "l") # 绘制年龄折线图 print("file -name_age.csv- saved") # 提示文件已保存 # 读取CSV文件并查看数据结构 library(readr) # 加载readr包用于高效读取数据 name_age <- read_csv("~/python/name_age.csv") # 读取CSV文件 View(name_age) # 在RStudio中查看数据 typeof(name_age) # 查看数据类型 # 生成性别与区域的交叉表 table(area,gender) # 统计不同区域和性别的人数分布 # 方法1: 使用基础函数tapply计算不同性别平均年龄 avg_age_by_gender <- tapply(df$age, df$gender, mean) print(avg_age_by_gender) # 方法2: 使用dplyr包计算不同性别平均年龄 library(dplyr) # 加载dplyr包 avg_age_by_gender <- df %>% group_by(gender) %>% # 按性别分组 summarise(mean_age = mean(age, na.rm = TRUE)) # 计算平均年龄并处理缺失值 print(avg_age_by_gender) # 方法3: 使用data.table包计算不同性别平均年龄(适合大数据集) library(data.table) # 加载data.table包 dt <- as.data.table(df) # 将数据框转换为data.table格式 avg_age_by_gender <- dt[, .(mean_age = mean(age, na.rm = TRUE)), by = gender] # 分组计算 print(avg_age_by_gender)代码功能说明
- 数据创建与保存
- 创建了包含姓名、年龄、性别和区域的示例数据集
- 将数据保存为CSV文件到指定路径
- 绘制了年龄趋势折线图
- 数据读取与分析
- 使用
readr包读取CSV文件 - 查看了数据的结构和类型
- 生成了性别与区域的交叉表
- 分组统计
- tapply方法:使用R基础函数进行分组计算
- dplyr方法:使用管道操作符进行流式数据处理
- data.table方法:针对大数据集的高效处理方案
所有统计方法都考虑了缺失值处理(通过
na.rm=TRUE参数),可以根据数据规模和个人偏好选择合适的方法。 -
R语言ANOVA and Plot 代码
该代码使用 R markdown 语法 --- title: "ANOVA and Plot" output: html_document: df_print: paged --- ## anova oneway单因素方差分析 ```{r} # 加载dplyr包 library(dplyr) # 加载cholesterol数据集 data(cholesterol, package="multcomp") # 计算各治疗组的样本量、均值、标准差和95%置信区间 plotdata <- cholesterol %>% group_by(trt) %>% summarize(n = n(), mean = mean(response), sd = sd(response), ci = qt(0.975, df = n - 1) * sd / sqrt(n)) # 显示计算结果 plotdata # 进行单因素方差分析 fit <- aov(response ~ trt, data=cholesterol) # 查看方差分析结果 summary(fit) # 加载ggplot2包 library(ggplot2) # 绘制治疗组均值和置信区间的图形 ggplot(plotdata, aes(x = trt, y = mean, group = 1)) + geom_point(size = 3, color="red") + geom_line(linetype="dashed", color="darkgrey") + geom_errorbar(aes(ymin = mean - ci, ymax = mean + ci), width=.1) + theme_bw() + labs(x="Treatment", y="Response", title="Mean Plot with 95% Confidence Interval") ``` ## one way and two way ANOVA ```{r} # 加载必要的包 library(dplyr) library(ggplot2) library(car) library(multcomp) # 单因素方差分析绘图示例 - 使用cholesterol数据集 data(cholesterol, package = "multcomp") # 1. 绘制均值图和置信区间 plotdata <- cholesterol %>% group_by(trt) %>% summarize( n = n(), mean = mean(response), sd = sd(response), se = sd / sqrt(n), ci = qt(0.975, df = n - 1) * se ) # 基础均值图 p1 <- ggplot(plotdata, aes(x = trt, y = mean, group = 1)) + geom_point(size = 3, color = "red") + geom_line(linetype = "dashed", color = "darkgrey") + geom_errorbar(aes(ymin = mean - ci, ymax = mean + ci), width = 0.1) + theme_bw() + labs( x = "Treatment", y = "Response", title = "Mean Plot with 95% Confidence Intervals" ) # 2. 绘制箱线图展示组间分布 p2 <- ggplot(cholesterol, aes(x = trt, y = response)) + geom_boxplot(fill = "lightblue", color = "black") + theme_bw() + labs( x = "Treatment", y = "Response", title = "Boxplot of Treatment Groups" ) # 3. 绘制散点图加抖动以显示原始数据点 p3 <- ggplot(cholesterol, aes(x = trt, y = response)) + geom_jitter(width = 0.2, alpha = 0.5, color = "blue") + theme_bw() + labs( x = "Treatment", y = "Response", title = "Scatter Plot with Jitter" ) # 4. 两因素方差分析交互效应图示例(修正版) set.seed(123) # 设置随机种子以确保结果可重现 # 创建因子组合(6组) mydata <- expand.grid( A = factor(c("Low", "High")), B = factor(c("Control", "Treatment1", "Treatment2")) ) # 为每组定义均值(设置A和B的主效应以及交互效应) group_means <- matrix( c(20, 25, 30, # A=Low时B各水平的均值 35, 45, 50), # A=High时B各水平的均值(注意Treatment1的均值增加更多,显示交互效应) nrow = 2, byrow = TRUE, dimnames = list(c("Low", "High"), c("Control", "Treatment1", "Treatment2")) ) # 将矩阵转换为长格式的均值向量 mydata$mean <- as.vector(group_means) # 为每个组生成10个观测值(共60个) mydata <- mydata[rep(1:nrow(mydata), each = 10), ] # 复制行形成60行 mydata$y <- mydata$mean + rnorm(nrow(mydata), mean = 0, sd = 3) # 添加随机噪声 # 拟合两因素方差分析模型 model <- aov(y ~ A * B, data = mydata) # 使用effect包计算预测值 if (!require(effects)) install.packages("effects") library(effects) # 计算A和B的交互效应 effect_data <- as.data.frame(effect("A:B", model)) # 绘制交互效应图 p4 <- ggplot(effect_data, aes(x = B, y = fit, group = A, color = A)) + geom_line(size = 1.2) + geom_point(size = 3) + geom_errorbar(aes(ymin = lower, ymax = upper), width = 0.1, size = 0.8) + theme_bw() + labs( x = "Factor B", y = "Predicted Values", title = "Interaction Plot: A x B", color = "Factor A" ) + scale_color_manual(values = c("Low" = "blue", "High" = "red")) # 5. 残差诊断图 - 检查方差分析假设 fit <- aov(response ~ trt, data = cholesterol) par(mfrow = c(2, 2)) plot(fit) par(mfrow = c(1, 1)) # 显示所有图形 gridExtra::grid.arrange(p1, p2, p3, p4, ncol = 2) ``` -
R in Action, Third Edition内容概要 由Robert I. Kabacoff著
R in Action, Third Edition由Robert I. Kabacoff所著,是一本关于R语言数据处理、分析和可视化的实用指南。本书围绕R语言在数据分析和图形绘制方面的应用展开,旨在帮助读者掌握R语言,解决实际数据问题。
核心内容
R语言基础:介绍R语言的特点和优势,如免费开源、功能全面、拥有强大的绘图能力等。详细讲解了R和RStudio的安装方法,以及R语言的基本语法、数据类型(向量、矩阵、数据框、列表等)和数据结构。同时,介绍了如何获取帮助、管理工作空间和项目,以及安装和使用包来扩展R的功能。数据处理与管理:涵盖数据的导入、清理和整理。讲解了从多种数据源(如文本文件、Excel表格、数据库等)导入数据的方法,以及数据结构的转换和操作。介绍了基本的数据管理任务,包括变量的创建、重编码、重命名,缺失值和日期值的处理,数据的排序、合并和子集选择。还介绍了使用dplyr和SQL语句进行数据操作的方法。
数据可视化:重点介绍ggplot2包进行数据可视化的方法。通过逐步添加元素,如映射变量、选择几何对象、设置分组和分面、调整坐标轴和颜色等,创建复杂而美观的图形。涵盖了多种图形类型,如散点图、柱状图、箱线图、直方图、密度图等,以及如何保存图形。
统计分析方法
基础统计:介绍描述性统计、频率和列联表、相关性和协方差、t检验和非参数统计等基础统计方法,以及如何使用R函数进行计算和检验。
回归分析:深入讲解普通最小二乘法(OLS)回归,包括简单线性回归、多项式回归和多元线性回归。介绍回归模型的拟合、解释、诊断和改进方法,以及变量选择和模型评估的技巧。
方差分析:介绍方差分析(ANOVA)的基本概念和术语,以及如何使用R语言进行单因素、多因素、重复测量和协方差分析。讲解了模型的拟合、解释和假设检验,以及如何处理不平衡数据和交互效应。
高级方法与拓展:介绍了主成分分析、因子分析、时间序列分析、聚类分析、分类等高级数据分析方法,以及处理缺失数据的先进方法。还涵盖了高级编程技术、创建动态报告和R包的方法,以及如何利用R语言进行高效的数据处理和分析。
总结
本书内容丰富全面,从R语言的基础入门到高级应用,逐步引导读者掌握R语言在数据分析和图形绘制方面的技能。通过大量实际案例和代码示例,帮助读者理解和应用各种方法,解决实际数据问题。无论是初学者还是有经验的R用户,都能从本书中获取有价值的知识和技巧,提升数据分析能力。 -
R语言生成两个长度为1000的时间序列
#⽣成两个⻓度为1000的时间序列 set.seed(20140623) N <- 1000 x <- cumsum(rnorm(N)) gamma <- 0.7 #固定随机数种⼦ #定义模拟的⻓度 #模拟⼀个正态随机游⾛ #设置初始的参数值 y <- gamma * x + rnorm(N) #模拟协整序列 plot(x, type='l') lines(y,col="red")
-
Ubuntu 24 install Rstudio method and find Ubuntu version
Install Rstudio cnliutz@ubuntu:~$ sudo snap install rstudio --classic ## find version nliutz@ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.2 LTS Release: 24.04 Codename: noble cnliutz@ubuntu:~$ uname -a Linux ubuntu 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux cnliutz@ubuntu:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 24.04.2 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04.2 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo cnliutz@ubuntu:~$ cat /etc/issue Ubuntu 24.04.2 LTS \n \l cnliutz@ubuntu:~$ hostnamectl Static hostname: ubuntu Icon name: computer-vm Chassis: vm 🖴 Machine ID: d5dccf907ca4483793c3149154734375 Boot ID: ca2d21aac26647a4a6e639721efc1952 Virtualization: vmware Operating System: Ubuntu 24.04.2 LTS Kernel: Linux 6.8.0-52-generic Architecture: x86-64 Hardware Vendor: VMware, Inc. Hardware Model: VMware Virtual Platform Firmware Version: 6.00 Firmware Date: Thu 2020-11-12 Firmware Age: 4y 4month 3w 6dTo recap, you can check your Ubuntu version using any of the following methods:
- Use the
lsb_release -acommand. - Use the
/etc/lsb-releaseor/etc/os-release command. - Check the /etc/issue file.
- Use the hostnamectl command.
- Check the Ubuntu version in your GUI settings.
- Use the
-
《R in action》R实践
《R in Action, Third Edition》是一本全面介绍 R 语言在数据分析和可视化方面应用的书籍,涵盖了从基础操作到高级统计分析和建模的丰富内容,旨在帮助读者掌握 R 语言并运用其解决实际数据问题。
核心要点总结
- R 语言基础与环境搭建
- 安装与界面:可从 Comprehensive R Archive Network(CRAN)免费获取并安装 R,RStudio 是常用的集成开发环境,提供了更便捷的编程、调试、可视化和报告编写功能。例如,通过 RStudio 的界面可以方便地管理工作空间、查看数据和运行结果。
- 数据结构:包括向量、矩阵、数据框、列表和 tibbles 等。向量是基本的数据存储单元,如
c(1, 2, 3);矩阵是二维数组,元素需具有相同模式;数据框可容纳不同模式的数据列,类似常见的数据集;列表可包含多种类型的对象;tibbles 是具有特定行为的数据框,在打印格式、变量处理等方面有优势。 - 函数与操作:使用
<-进行赋值,#添加注释。通过大量内置函数和用户可自定义函数实现数据处理和分析,如mean()计算均值,sd()计算标准差等。还可以利用循环(for、while)和条件(if-else、ifelse、switch)语句控制程序流程。 - 包的管理:R 的强大功能依赖于众多的扩展包。可使用
install.packages()安装包,如ggplot2用于绘图,dplyr用于数据处理;library()加载包;help(package="package_name")了解包的信息。
- 数据导入与管理
- 数据导入源:能从多种数据源导入数据,如键盘输入(
edit()或read.table())、文本文件(read.table()及readr包中的函数)、Excel 文件(readxl包)、统计软件文件(如haven包用于导入 SPSS、SAS 等文件)、数据库(通过RODBC等包)以及网络(如rvest包用于网页数据抓取)。 - 数据清理与预处理:涉及处理缺失值(
is.na()识别,na.omit()删除含缺失值的行等)、日期转换(as.Date())、数据类型转换(如as.numeric()、as.character())、变量创建与重编码(利用算术和逻辑运算)、数据集合并(merge()、cbind()、rbind())、排序(order())和子集选取(通过索引或subset()函数)等操作。例如,在处理学生成绩数据时,可将不同科目的成绩标准化后合并为综合成绩指标。
- 数据导入源:能从多种数据源导入数据,如键盘输入(
- 数据可视化
- ggplot2 绘图基础:基于图形语法构建图形,首先用
ggplot()指定数据源和变量映射,再通过geom_*()函数添加几何对象(如geom_point()绘制散点图、geom_bar()绘制柱状图等)来创建图形。例如,绘制工人工资与经验的关系图时,先ggplot(data = CPS85, mapping = aes(x = exper, y = wage))确定数据和变量映射,再添加geom_point()展示数据点。 - 图形定制:包括分组(将变量映射到颜色、形状等美学属性)、设置刻度(
scale_*()函数)、分面(facet_wrap()或facet_grid()按变量生成多个子图)、添加标签(labs())和应用主题(theme_*())等操作,可使图形更具表现力和可读性。
- ggplot2 绘图基础:基于图形语法构建图形,首先用
- 统计分析方法
- 描述性统计:使用
summary()、sapply()等函数计算均值、中位数、标准差等统计量,或借助Hmisc、pastecs、psych等包的函数获取更详细的描述性统计信息。同时,可通过table()、xtabs()等函数生成频率表和列联表来分析分类变量。 - 相关性与回归分析:
cor()和cov()函数计算变量间的相关性和协方差,可选择不同方法(如 Pearson、Spearman、Kendall)并处理缺失值。回归分析中,lm()函数用于拟合线性回归模型(包括简单线性、多项式和多元线性回归),通过summary()查看结果,利用回归诊断(如plot()、car包中的函数)评估模型假设,还可进行变量选择(逐步回归、全子集回归)和模型比较(anova()、AIC 准则)。 - 方差分析及扩展:
aov()函数拟合方差分析模型,包括单因素方差分析、协方差分析、双因素析因方差分析、重复测量方差分析和多变量方差分析等。通过 F 检验评估因素的显著性,使用多重比较方法(如TukeyHSD()、glht())确定组间差异,并对模型假设进行检验(如正态性、方差齐性)。
- 描述性统计:使用
- 高级主题与应用拓展
- 缺失值处理:除简单删除含缺失值的观测外,还可使用
k-nearest neighbor和random forest等方法进行缺失值插补,提高数据质量。 - 数据重塑与聚合:
tidyr包的gather()和spread()函数实现数据的长格式与宽格式转换,dplyr包和aggregate()函数用于数据聚合,便于进行不同形式的数据分析。 - 高级编程与报告生成:涉及编写自定义函数、使用非标准评估和可视化调试等高级编程技巧,以及利用
R Markdown创建动态报告,实现可重复的数据分析流程。
- 缺失值处理:除简单删除含缺失值的观测外,还可使用
应用案例
- 医疗领域:在关节炎治疗研究中,通过导入数据、清理和转换(如处理缺失值、将字符变量转换为因子),利用列联表分析治疗方法与患者改善情况的关系,进行卡方检验评估变量独立性,并绘制柱状图直观展示结果,帮助医生了解不同治疗的效果差异。
- 商业领域:分析汽车燃油效率数据时,从 Excel 文件导入数据后,使用
dplyr包进行数据处理(如创建新变量、筛选数据),通过ggplot2绘制散点图、箱线图等探索变量关系,建立回归模型预测汽车油耗,为汽车制造商改进设计或消费者购车提供参考。 - 社会科学领域:研究各州犯罪率与人口、教育水平、经济状况等因素的关系时,先整合来自不同数据源的数据,进行数据清洗和标准化,再运用回归分析和方差分析方法,识别影响犯罪率的关键因素,为政策制定提供依据。
学习建议
- 对于初学者,先熟悉 R 语言的基本语法、数据结构和常用函数,掌握数据导入和简单数据管理操作,如创建数据集、处理缺失值等。
- 逐步学习数据可视化技巧,从简单图形绘制开始,理解如何通过图形展示数据特征和关系,同时学习基本的统计分析方法,如描述性统计和相关性分析。
- 随着学习深入,掌握回归分析、方差分析等高级统计方法,学会评估模型假设和解释结果,并了解数据重塑、缺失值处理等高级数据管理技术。
- 积极实践书中的示例代码,尝试在实际项目中应用所学知识,遇到问题多查阅文档和相关资料,参与 R 语言社区交流,提升编程和数据分析能力。
- R 语言基础与环境搭建
-
用R(语言)学R-Learning R,In R
一、安装swirl包
在R语言控制面板,对话框输入以下命令:
swirl 是一个非常有用的 R 包,它允许你通过交互式教程来学习 R 语言。以下是使用 swirl 包的基本步骤:安装 swirl 包:首先,你需要在 R 中安装 swirl 包。你可以使用以下命令来安装:
install.packages("swirl")
加载 swirl 包:安装完成后,你需要加载 swirl 包:library(swirl)
启动教程:一旦加载了 swirl 包,你就可以启动教程了。使用以下命令来开始:swirl()
选择教程:启动 swirl 后,你会看到一系列可用的教程。你可以选择你感兴趣的教程进行学习。每个教程都会通过交互式命令行提示你进行操作,帮助你更好地理解 R 语言。
二、安装swirl 教程:
要安装 swirl 的课程包,你可以按照以下步骤进行操作:启动 swirl 包:
首先,确保你已经安装并加载了 swirl 包:install.packages("swirl")
library(swirl)
选择课程:
启动 swirl 后,你会进入交互式的学习环境。然后你可以选择安装课程。列出可用课程:
使用以下命令来查看可用的课程:install_from_swirl("课程名称")
安装具体课程:
例如,如果你想安装名为“R Programming”的课程,你可以使用:swirl::install_course("R Programming")
开始学习:
课程安装完成后,你可以启动 swirl 并选择你安装的课程进行学习:swirl()
选择已安装课程:
在 swirl 中,你可以选择你刚安装的课程,开始你的学习之旅。这教程包括可以在GitHub上找到:
R编程、
统计推断、
高级统计、
数据清洗等
————————————————版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/qq_43596960/article/details/144313330
-
Rstudio make Chinese PDF files 制作中文PDF文档
install rmarkdown package
install.packages(rmarkdoen)
install file templates
install.packages("rticles") Chibese pdf files need to choice "Ctex" file patteninstall tinytex package
install.packages(tinytex)install latex to compile PDF files –-two Methods
1. need to download the file Tinytex-1.zip from ’https://yihui.org/tinytex/TinyTeX-1.zip' tinytex:::install_prebuilt("C:/Users/liumt/Downloads/tinytex-1.zip") 2. use command below to install online (download very slowly in China) tinytex::install_tinytex()create a new rmarkdown file ,then output Chinese PDF file .