R语言速查表

发布于:2025-05-22 ⋅ 阅读:(16) ⋅ 点赞:(0)

一、基础操作

(一)帮助系统

操作 命令示例 说明
查看函数帮助 help(sum)?sum 获取 sum 函数的详细用法
搜索帮助主题 help.search("linear regression") 查找与“linear regression”相关的帮助内容
列出所有包含特定字符串的函数 apropos("mean") 列出名称中含“mean”的函数
启动HTML帮助文档 help.start() 在浏览器中打开R的HTML帮助文档

(二)工作环境

操作 命令示例 说明
列出当前环境中的对象 ls() 显示当前环境中定义的所有对象
以结构化方式列出对象 ls.str() 显示对象结构信息
获取当前工作目录 getwd() 返回当前工作目录路径
设置工作目录 setwd("C:/your/directory") 将工作目录设置为指定路径
退出R quit()q() 退出R环境,可选择是否保存工作空间

(三)包管理

操作 命令示例 说明
安装包 install.packages("dplyr") 从CRAN安装“dplyr”包
更新包 update.packages() 更新已安装的包
加载包 library(dplyr)require(dplyr) 加载“dplyr”包到当前会话
查看包帮助 library(help = "dplyr") 查看“dplyr”包的帮助文档

二、数据输入输出

(一)文件读取

文件类型 命令示例 说明
CSV文件 read.csv("data.csv", header = TRUE) 读取CSV文件,header = TRUE 表示第一行是列名
表格分隔文件 read.delim("data.tsv", header = TRUE) 读取以制表符分隔的文件
固定宽度文件 read.fwf("data.txt", widths = c(5, 10, 8), header = FALSE) 按指定宽度读取文件
从剪贴板读取 read.delim("clipboard") 从剪贴板读取数据,数据格式需符合要求

(二)文件保存

操作 命令示例 说明
保存对象 save(my_object, file = "my_data.RData") 将对象my_object保存到文件
保存工作空间 save.image("workspace.RData") 保存整个工作空间到文件
写入表格数据 write.table(my_df, file = "output.txt", row.names = FALSE, col.names = TRUE, sep = "\t") 将数据框写入文件,设置行列名及分隔符
重定向输出到文件 sink("output.txt")
print("Hello, R!")
sink()
将输出内容保存到文件,结束后关闭

三、数据结构

(一)向量

操作 命令示例 说明
创建向量 numeric_vector <- c(1, 2, 3, 4)
character_vector <- c("a", "b", "c")
连接元素创建向量
生成序列 1:5
seq(1, 10, by = 2)
生成整数序列,按指定步长生成序列
重复向量 rep(1, times = 5)
rep(c(1, 2), each = 3)
重复向量元素,按指定次数重复向量
索引向量 numeric_vector[3]
numeric_vector[-2]
numeric_vector[numeric_vector > 2]
获取指定位置元素,排除指定位置元素,按条件筛选元素
命名向量 named_vector <- c(a = 1, b = 2, c = 3)
named_vector["b"]
创建命名向量,通过名称获取元素

(二)矩阵

操作 命令示例 说明
创建矩阵 matrix_data <- matrix(c(1, 2, 3, 4), nrow = 2, ncol = 2) 按指定行数和列数创建矩阵
矩阵索引 matrix_data[1, 2]
matrix_data[1, ]
matrix_data[, 2]
获取指定行列元素,获取指定行所有元素,获取指定列所有元素
矩阵转置 t(matrix_data) 对矩阵进行转置操作
计算矩阵行和、列和 rowSums(matrix_data)
colSums(matrix_data)
计算矩阵每行元素之和,计算矩阵每列元素之和

(三)数据框

操作 命令示例 说明
创建数据框 my_df <- data.frame(name = c("Alice", "Bob"), age = c(25, 30), gender = c("F", "M")) 按列创建数据框
索引数据框 my_df[2, ]
my_df[, "age"]
my_df$name
获取指定行数据,获取指定列数据,通过列名获取列数据
添加列 my_df$city <- c("New York", "London") 在数据框中添加新列
合并数据框 merged_df <- merge(df1, df2, by = "id") 按指定列合并两个数据框

(四)列表

操作 命令示例 说明
创建列表 my_list <- list(name = "John", age = 30, hobbies = c("reading", "swimming")) 创建包含不同类型元素的列表
索引列表 my_list[[2]]
my_list[["hobbies"]]
my_list$age
获取指定位置元素,通过名称获取元素,通过$符号获取元素
添加元素 my_list$job <- "Engineer" 在列表中添加新元素

四、数据处理与统计

(一)描述性统计

操作 命令示例 说明
计算均值 mean(numeric_vector) 计算向量的均值
计算中位数 median(numeric_vector) 计算向量的中位数
计算标准差 sd(numeric_vector) 计算向量的标准差
计算方差 var(numeric_vector) 计算向量的方差
计算总和 sum(numeric_vector) 计算向量所有元素的总和
计算最小值、最大值 min(numeric_vector)
max(numeric_vector)
计算向量的最小值、最大值
计算范围 range(numeric_vector) 返回向量的最小值和最大值组成的向量
计算分位数 quantile(numeric_vector, probs = c(0.25, 0.75)) 计算指定分位数的值
计算四分位数间距 IQR(numeric_vector) 计算四分位数间距
计算加权均值 weighted.mean(numeric_vector, weights = c(1, 2, 1, 2)) 计算加权均值

(二)数据转换

操作 命令示例 说明
排序 sorted_vector <- sort(numeric_vector)
sorted_df <- my_df[order(my_df$age), ]
对向量进行排序,对数据框按指定列排序
去重 unique_vector <- unique(numeric_vector) 获取向量中的唯一值
分箱 binned_vector <- cut(numeric_vector, breaks = c(0, 2, 4, 6)) 将数据划分为不同区间
标准化 scaled_vector <- scale(numeric_vector) 对数据进行标准化处理
缺失值处理 na_removed_vector <- na.omit(numeric_vector)
na_filled_vector <- ifelse(is.na(numeric_vector), 0, numeric_vector)
删除含有缺失值的元素,用指定值填充缺失值

(三)统计检验与模型

操作 命令示例 说明
t检验 t.test(numeric_vector1, numeric_vector2) 对两个向量进行t检验
卡方检验 chisq.test(observed_data) 进行卡方检验
线性回归 lm_model <- lm(weight ~ height, data = my_df) 拟合线性回归模型
广义线性模型 glm_model <- glm(species ~ ., data = iris, family = "binomial") 拟合广义线性模型
聚类分析 - Kmeans kmeans_result <- kmeans(scale(iris[, 1:4]), centers = 3) 对数据进行Kmeans聚类
聚类分析 - 层次聚类 d <- dist(iris[, 1:4])
hclust_result <- hclust(d, method = "complete")
进行层次聚类分析
主成分分析 pca_result <- prcomp(iris[, 1:4]) 对数据进行主成分分析

五、数据可视化

(一)基础绘图

操作 命令示例 说明
散点图 plot(x = numeric_vector1, y = numeric_vector2, main = "Scatter Plot", xlab = "X Axis", ylab = "Y Axis") 绘制散点图
直方图 hist(numeric_vector, main = "Histogram", xlab = "Value", col = "blue") 绘制直方图
箱线图 boxplot(numeric_vector, main = "Box Plot", ylab = "Value") 绘制箱线图
折线图 plot(x = 1:length(numeric_vector), y = numeric_vector, type = "l", main = "Line Plot", xlab = "Index", ylab = "Value") 绘制折线图
条形图 barplot(numeric_vector, main = "Bar Plot", xlab = "Category", ylab = "Value", horiz = FALSE) 绘制条形图
饼图 pie(numeric_vector, labels = c("A", "B", "C"), main = "Pie Chart") 绘制饼图

(二)高级绘图

操作 命令示例 说明
三维图 - 表面图 library(rgl)
x <- y <- seq(-2, 2, length = 50)
z <- outer(x, y, function(x, y) x^2 + y^2)
surface3d(x, y, z)
绘制三维表面图
三维图 - 散点图 library(rgl)
x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
points3d(x, y, z)
绘制三维散点图
等高线图 contour(x = numeric_vector1, y = numeric_vector2, z = matrix_data, main = "Contour Plot") 绘制等高线图
热力图 library(ggplot2)
ggplot(data = my_df, aes(x = variable1, y = variable2, fill = value)) + geom_tile()
绘制热力图
交互图 - 散点图矩阵 pairs(iris[, 1:4], main = "Scatter Plot Matrix") 绘制散点图矩阵
交互图 - 箱线图分组 library(ggplot2)
ggplot(data = iris, aes(x = Species, y = Sepal.Length)) + geom_boxplot()
按分组绘制箱线图

(三)图形参数设置

操作 命令示例 说明
设置标题、坐标轴标签 plot(x, y, main = "My Plot", xlab = "X Label", ylab = "Y Label") 设置图形标题和坐标轴标签
设置颜色 plot(x, y, col = "red")
hist(numeric_vector, col = rainbow(5))
设置绘图颜色,使用彩虹色
设置线型 plot(x, y, type = "l", lty = 2) 设置线条类型(如虚线)
设置点形状 plot(x, y, pch = 16) 设置点的形状(如实心圆)
设置坐标轴范围 plot(x, y, xlim = c(0, 10), ylim = c(0, 20)) 设置坐标轴的取值范围
添加图例 plot(x, y, col = c("red", "blue"), pch = c(1, 2))
legend("topright", legend = c("Group 1", "Group 2"), col = c("red", "blue"), pch = c(1, 2))
添加图例说明图形元素

六、编程基础

(一)函数定义与使用

操作 命令示例 说明
定义函数 add_numbers <- function(a, b) { <br> return(a + b) <br> } 定义一个简单的加法函数
调用函数 result <- add_numbers(3, 5) 调用函数并返回结果
匿名函数 sapply(numeric_vector, function(x) x^2) 使用匿名函数对向量元素进行平方操作

(二)控制流

操作 命令示例 说明
条件判断 if (x > 10) { <br> print("x is greater than 10") <br> } else { <br> print("x is less than or equal to 10") <br> } 根据条件执行不同代码块
循环 - for循环 for (i in 1:5) { <br> print(i) <br> } 按指定次数循环执行代码块
循环 - while循环 i <- 1 <br> while (i <= 5) { <br> print(i) <br> i <- i + 1 <br> } 当条件满足时持续循环
循环 - repeat循环 i <- 1 <br> repeat { <br> print(i) <br> if (i == 5) { <br> break <br> } <br> i <- i + 1 <br> } 无限循环,可通过break语句跳出
跳过循环迭代 for (i in 1:5) { <br> if (i == 3) { <br> next <br> } <br> print(i) <br> } 跳过指定迭代

(三)向量化操作

操作 命令示例 说明
向量运算 numeric_vector1 <- c(1, 2, 3)
numeric_vector2 <- c(4, 5, 6)
result_vector <- numeric_vector1 + numeric_vector2
对两个向量对应元素进行加法运算
条件向量化 new_vector <- ifelse(numeric_vector > 3, "Large", "Small") 根据条件对向量元素进行替换

七、其他实用操作

(一)日期与时间处理

操作 命令示例 说明
创建日期对象 my_date <- as.Date("2024-01-01") 创建日期对象
日期格式化 format(my_date, "%Y-%m-%d") 将日期格式化为指定字符串
日期运算 new_date <- my_date + 30 日期加上指定天数
获取日期的年、月、日 year <- format(my_date, "%Y")
month <- format(my_date, "%m")
day <- format(my_date, "%d")
提取日期中的年、月、日

(二)随机数生成

分布类型 命令示例 说明
正态分布 rnorm(10, mean = 0, sd = 1) 生成10个均值为0,标准差为1的正态分布随机数
均匀分布 runif(10, min = 0, max = 1) 生成10个0到1之间的均匀分布随机数
泊松分布 rpois(10, lambda = 5) 生成10个参数为5的泊松分布随机数
二项分布 rbinom(10, size = 10, prob = 0.5) 生成10个n为10,p为0.5的二项分布随机数

(三)字符串处理

操作 命令示例 说明
连接字符串 `string1 <- “Hello”
string2 <- “World”
new

网站公告

今日签到

点亮在社区的每一天
去签到