R语言的基础命令及实例操作
创作时间:
作者:
@小白创作中心
R语言的基础命令及实例操作
引用
CSDN
1.
https://blog.csdn.net/ALPH_/article/details/145945882
R语言是一种广泛使用的统计计算和图形绘制工具,特别适合数据分析师和统计学家使用。本文将介绍R语言的基础命令及其实例操作,帮助读者快速掌握R语言的基本知识。
基本逻辑运算
在R中,逻辑运算符包括与(&)和或(|)。以下是一些基本的逻辑运算示例:
> T & F
[1] FALSE
> T & T
[1] TRUE
> T | F
[1] TRUE
> F | F
[1] FALSE
对象命名规则
在R中,大小写是敏感的,也就是说 A 和 a 是不同的对象。对象命名需要遵循以下规则:
- 对象名不能以数字开头,但数字可以出现在对象名的中间或结尾。例如,a1 是合法的,但 1a 不是。
- 在命名对象时,建议使用点(.)作为分隔符,这样可以提高可读性。例如:anova.result1。
创建向量
你可以通过如下命令创建一个向量:
a <- c(10, 15, 21, 18)
这个向量 a 包含了 4 个元素,数据类型为数值型(numeric),长度为 4。
命名注意事项
在命名对象时,要避免与 R 中的保留名称(关键字)冲突。以下是一些保留名称示例:
- NA:缺失值
- NaN:非数值
- pi:圆周率常数
- LETTERS:包含所有大写字母的字符向量
- letters:包含所有小写字母的字符向量
- month.abb:月份的缩写
- month.name:月份的全名
避免将对象命名为这些保留名称,以免与 R 语言的内置功能冲突。
基本数据类型
在R中,有几种基本的数据类型:
- 数值型(Numeric):用于存储数字,包括整数和浮动点数。示例:100, 0, -4.335
- 字符型(Character):用于存储文本数据,通常用双引号或单引号括起来。示例:"China"
- 逻辑型(Logical):用于存储逻辑值,即 TRUE 或 FALSE。示例:TRUE, FALSE
- 因子型(Factor):用于表示分类数据,也就是不同类别或水平的变量。因子型变量可以用来表示类别,如性别、地区等。示例:factor(c("Male", "Female", "Female", "Male"))
- 复数型(Complex):用于存储复数数据,形式为 a + bi。示例:2 + 3i
数据结构
- 向量(Vector):向量是同一类型元素的集合。向量是R中最基本的数据结构,可以包含数值、字符、逻辑值等。示例:v <-c(1, 2, 3, 4)
- 数组(Array):数组是多维的数据表,可以是任意维度(维数 k)。数组的元素必须是相同的数据类型。示例:创建一个二维数组 arr <- array(1:6, dim = c(2, 3))
- 矩阵(Matrix):矩阵是数组的一个特例,具有2 个维度(即行和列)。矩阵中的元素必须是同一数据类型。示例:mat <- matrix(1:6, nrow = 2, ncol = 3)
- 列表(List):列表是一种可以包含不同类型元素的数据结构,可以包含向量、矩阵、数据框,甚至其他列表。与向量不同,列表中的元素可以是不同类型。示例:lst <- list(a = 1, b = "text", c = TRUE)
- 数据框(DataFrame):数据框是由一个或多个向量或因子组成的二维结构,类似于数据库中的表格。数据框中的每列可以是不同的数据类型,但每列必须是等长的。示例:df <- data.frame(Name = c("Alice", "Bob"), Age = c(25, 30))
索引和转置
索引示例:
> count = c("a","b","c")
> count
[1] "a" "b" "c"
> count[1]
[1] "a"
> count[2]
[1] "b"
转置示例:
> matrix.x <- matrix(1:12,nrow=3,byrow=T)
> t(matrix.x)
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 2 6 10
[3,] 3 7 11
[4,] 4 8 12
取行和列
> df <- data.frame(Name = c("Alice", "Bob"), Age = c(25, 30))
> df
Name Age
1 Alice 25
2 Bob 30
> df[2,]
Name Age
2 Bob 30
> df[,2]
[1] 25 30
> df[2,1]
[1] "Bob"
> df$Name
[1] "Alice" "Bob"
对象类型判断和转换
> class(count)
[1] "character"
> class(df)
[1] "data.frame"
> class(x)
[1] "integer"
对象类型转换示例:
> gender = c('male','female','male')
> gender
[1] "male" "female" "male"
> class(gender)
[1] "character"
> as.factor(gender)
[1] male female male
Levels: female male
外部数据读取
读取 .txt 和 .csv 文件
- read.table() 函数:read.table() 是R中最常用的函数之一,用于读取由空格或制表符(Tab)分隔的文本文件。它的默认分隔符是空格或制表符(Tab),但可以通过参数 sep 来指定其他分隔符。
示例:
data <- read.table("data.txt", header = TRUE, sep = "\t")
- read.csv() 函数:read.csv() 是read.table()的一种专门用于读取 CSV(逗号分隔值)文件的简化版本。它的默认分隔符是逗号(,)。
示例:
data <- read.csv("data.csv", header = TRUE)
其他文件格式的读取
R 也可以通过一些专门的程序包来读取其他格式的数据文件。例如:
- Excel 文件:可以使用 readxl 或 openxlsx 包来读取 .xlsx 或 .xls 文件。
- SAS 文件:可以使用 haven 包来读取 .sas7bdat 文件。
- DBF 文件:可以使用 foreign 包来读取 DBF 格式文件。
- Matlab 文件:使用 R.matlab 包来读取 .mat 文件。
- SPSS 文件:使用 haven 包读取 .sav 文件。
- Minitab 文件:可以使用 foreign 包来读取 .mtw 文件。
示例:
> data <- read.table("C:/Users/admin/Desktop/BMI.txt", header = TRUE, sep = "\t", stringsAsFactors = FALSE)
> data
height weight
1 1.75 60
2 1.80 72
3 1.65 67
4 1.90 50
5 1.74 95
6 1.91 72
> class(data)
[1] "data.frame"
查看和修改工作路径
> getwd()
[1] "C:/Users/admin/Documents"
> setwd("C:/Users/admin/Desktop")
两个点代表返回上级目录,一个点代表当前目录:
> setwd("../")
> getwd()
[1] "C:/Users/admin"
实例应用
实例1:肺癌、乳腺癌、膀胱癌、肝癌的差异基因分析
研究对象:肺癌,乳腺癌,膀胱癌,肝癌
研究方法:转录组测序,找到共同的差异基因
已有数据:四种肿瘤各自的差异基因
具体步骤:
- 读入数据-read.table()
- 取得交集-intersect()
- 频数统计,找到更多热点基因-table()
- 韦恩图可视化-venn.diagram()
热门推荐
小公司如何通过企业文化提升团队凝聚力
港味攻略|推介庙街夜市人气美食及朝圣打卡热点
八字怎么起大运,大运数的计算和起法详解
工程项目如何沟通管理员工
如何选择鼠标:从使用场景到性能参数的全方位指南
Excel打开文件显示“无法访问该文件,请尝试以下方法”的解决方法
企业所得税行政复议案例:企业税收争议的解决之路
乙肝五项定量结果怎么看
职场晋升的窍门
2024-2025学年北京西城区高中排名一览(北京西城一梯队二梯队排名)
债权转让合同应包括哪些条款
在Office中检查拼写和语法
《哪吒2》爆火,太乙真人川普出圈!为何电影偏爱四川话?
上海机场客流量实时更新2024-07
比特币交易必备:七大技术指标详解与应用指南
汽车三大自动变速箱小深度解析:驱散变速箱认知迷雾(上)
美联储何时加息受哪些因素影响?加息会带来哪些后果?
男人对你有以下反应,就是爱上你了,不用怀疑
成都多名司机称“应聘司机遭遇贷款买车骗局”,公司:合法合规经营
酱卤牛肉详细卤水香料配方及卤制过程分享,附家庭版酱牛肉做法
云原生技术:企业IT架构的重塑与未来之路
害怕的根源与解决策略:一种理性的探讨
写作中“长短句结合”,妙趣多多,即悟即所得
供应链协同管理:强化合作伙伴关系,提升整体竞争力
氢医学上市企业:探索氢气在医疗领域的无限可能
串口通信数据读取格式详解:从基础概念到实战应用
资金杠杆的使用技巧有哪些?使用资金杠杆需要注意哪些风险?
AI 入门指南三 :AI提示词(Prompt)的概念进阶
2024年中国百家姓最新排名:王、李、张稳居前三甲,你的姓氏排第几?
床前明月光,疑是地上霜。