R语言作为一种广泛应用于统计分析、数据可视化和机器学习的编程语言,其强大功能离不开一系列常用命令的支撑,这些命令涵盖了数据操作、统计分析、图形绘制等多个方面,熟练掌握它们能够显著提升数据分析的效率,以下将从数据结构、数据读取与处理、统计分析、数据可视化及编程控制等方面,详细介绍R语言的常用命令。

在R语言中,基本数据结构是数据处理的基础,向量是R语言中最基本的数据结构,通过c()
函数可以创建向量,例如x <- c(1, 2, 3)
创建了一个数值向量,矩阵通过matrix()
函数生成,如matrix(1:6, nrow=2, ncol=3)
创建一个2行3列的矩阵,数据框是数据分析中最常用的结构,使用data.frame()
函数创建,例如df <- data.frame(name=c("Alice", "Bob"), age=c(25, 30))
,列表则可以存储不同类型的数据,通过list()
函数创建,如lst <- list(a=1, b="hello", c=c(2,3))
,理解这些数据结构的特点及创建方法是进行后续操作的前提。
数据读取与处理是数据分析的关键环节,R语言提供了多种读取数据文件的命令,最常用的是read.csv()
用于读取CSV文件,例如data <- read.csv("data.csv", header=TRUE)
,其中header=TRUE
表示第一行是列名,对于Excel文件,可使用read.xlsx()
函数(需安装openxlsx
包),读取数据后,常需进行数据筛选与整理,subset()
函数用于提取子集,如subset(df, age>25)
选取年龄大于25的记录。na.omit()
函数用于删除缺失值,如na.omit(df)
返回无缺失值的数据框,数据转换方面,as.numeric()
、as.factor()
等函数可将数据转换为指定类型,mutate()
函数(来自dplyr
包)可方便地新增列,如df <- mutate(df, age_group=ifelse(age<30, "young", "old"))
。
统计分析是R语言的核心应用之一,描述性统计可通过summary()
函数快速获取,如summary(df)
输出各列的最小值、最大值、中位数等。mean()
、median()
、sd()
(标准差)、var()
(方差)等函数用于计算基本统计量,例如mean(df$age)
计算平均年龄,假设检验方面,t.test()
用于t检验,如t.test(df$age~df$gender)
比较不同性别的年龄差异;chisq.test()
用于卡方检验,如chisq.test(table(df$gender, df$age_group))
检验性别与年龄组的关联性,相关分析使用cor()
函数计算相关系数,如cor(df$age, df$income)
,cor.test()
则可进行显著性检验,回归分析中,lm()
函数用于线性回归,如model <- lm(income~age+education, data=df)
,summary(model)
输出回归结果。
数据可视化方面,R语言拥有强大的图形系统,基础绘图函数包括plot()
用于绘制散点图,如plot(df$age, df$income, xlab="Age", ylab="Income")
;hist()
绘制直方图,如hist(df$age, breaks=5)
;boxplot()
绘制箱线图,如boxplot(df$age~df$gender)
。ggplot2
包是可视化的高级工具,通过“图层”概念实现复杂图形,例如library(ggplot2); ggplot(df, aes(x=age, y=income)) + geom_point() + geom_smooth(method="lm")
绘制带回归线的散点图。barplot()
用于条形图,如barplot(table(df$gender))
;pie()
用于饼图,如pie(table(df$age_group))
。

编程控制命令是编写高效R脚本的基础,条件判断使用if-else
结构,如if (mean(df$age)>25) {print("Average age >25")} else {print("Average age <=25")}
,循环语句包括for
循环和while
循环,例如for (i in 1:5) {print(i)}
或i <- 1; while (i<=5) {print(i); i<-i+1}
,函数定义通过function()
实现,如my_mean <- function(x) {sum(x)/length(x)}
。apply()
家族函数(apply()
, lapply()
, sapply()
)用于对数组或列表的元素批量操作,例如apply(matrix(1:9, nrow=3), 2, sum)
计算矩阵各列之和。library()
用于加载包,如library(dplyr)
;help()
或用于查看帮助文档,如?mean
。
以下是相关问答FAQs:
Q1: 如何处理R语言中的缺失值?
A1: R语言中缺失值通常表示为NA
,处理缺失值的方法包括:删除缺失值(na.omit(df)
删除含缺失值的行;df[complete.cases(df), ]
选取无缺失值的行);填充缺失值(如用均值填充:df$age[is.na(df$age)] <- mean(df$age, na.rm=TRUE)
);或使用tidyr
包的fill()
函数填充相邻值,选择方法需根据数据特点和分析目的决定。
Q2: 如何在R语言中安装和使用第三方包?
A2: 安装包使用install.packages()
函数,例如install.packages("ggplot2")
安装ggplot2
包,安装后需使用library()
或require()
加载包到当前环境,如library(ggplot2)
,若需更新包,可用update.packages()
;查看已安装包列表用installed.packages()
;卸载包用remove.packages("包名")
,部分包依赖R特定版本,需确保R版本兼容。
