R语言的基础命令及实例操作

> T & F

1\] FALSE \> T \& T \[1\] TRUE \> T \| F \[1\] TRUE \> F \| F \[1\] FALSE \> a \<- c(T,F,T) \> b \<- c(F,F,T) \> a \& b \[1\] FALSE FALSE TRUE \> a \| b \[1\] TRUE FALSE TRUE 在 **R** 中,大小写是敏感的,也就是说 A 和 a 是不同的对象。 1. **对象命名规则** : * 对象名不能以数字开头,但数字可以出现在对象名的中间或结尾。例如,a1 是合法的,但 1a 不是。 * 在命名对象时,建议使用点(.)作为分隔符,这样可以提高可读性。例如:anova.result1。 2. **示例:创建一个向量** : * 你可以通过如下命令创建一个向量: a \<- c(10, 15, 21, 18) 这个向量 a 包含了 4 个元素,数据类型为数值型(numeric),长度为 4。 3. **命名注意事项** : * 在命名对象时,要避免与 R 中的保留名称(关键字)冲突。以下是一些保留名称示例: * NA:缺失值 * NaN:非数值 * pi:圆周率常数 * LETTERS:包含所有大写字母的字符向量 * letters:包含所有小写字母的字符向量 * month.abb:月份的缩写 * month.name:月份的全名 避免将对象命名为这些保留名称,以免与 R 语言的内置功能冲突。 在 **R** 中,有几种基本的数据类型: 1. **数值型(Numeric)** : * 用于存储数字,包括整数和浮动点数。 * 示例:100, 0, -4.335 2. **字符型(Character)** : * 用于存储文本数据,通常用双引号或单引号括起来。 * 示例:"China" 3. **逻辑型(Logical)** : * 用于存储逻辑值,即 TRUE 或 FALSE。 * 示例:TRUE, FALSE 4. **因子型(Factor)** : * 用于表示分类数据,也就是不同类别或水平的变量。因子型变量可以用来表示类别,如性别、地区等。 * 示例:factor(c("Male", "Female", "Female", "Male")) * 可以用来输入患者的信息 5. **复数型(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 外部数据读取: **1. 读取 .txt 和 .csv 文件** **read.table() 函数:** * read.table() 是 **R** 中最常用的函数之一,用于读取由空格或制表符(Tab)分隔的文本文件。它的默认分隔符是 **空格** 或 **制表符** (Tab),但可以通过参数 sep 来指定其他分隔符。 示例: data \<- read.table("data.txt", header = TRUE, sep = "\\t") * header = TRUE:表示文件的第一行是列名。 * sep = "\\t":表示数据之间是由制表符(Tab)分隔的。 读取的结果会存储为数据框(data frame),data 变量就包含了从文件中读取的数据。 **read.csv() 函数:** * read.csv() 是 **read.table()** 的一种专门用于读取 CSV(逗号分隔值)文件的简化版本。它的默认分隔符是 **逗号** (,)。 示例: data \<- read.csv("data.csv", header = TRUE) * header = TRUE:表示文件的第一行是列名。 读取的结果会同样存储为数据框。 **2. 其他文件格式的读取** R 也可以通过一些专门的程序包来读取其他格式的数据文件。例如: * **Excel 文件** :可以使用 readxl 或 openxlsx 包来读取 .xlsx 或 .xls 文件。 library(readxl) data \<- read_excel("data.xlsx") * **SAS 文件** :可以使用 haven 包来读取 .sas7bdat 文件。 library(haven) data \<- read_sas("data.sas7bdat") * **DBF 文件** :可以使用 foreign 包来读取 DBF 格式文件。 library(foreign) data \<- read.dbf("data.dbf") * **Matlab 文件** :使用 R.matlab 包来读取 .mat 文件。 library(R.matlab) data \<- readMat("data.mat") * **SPSS 文件** :使用 haven 包读取 .sav 文件。 library(haven) data \<- read_spss("data.sav") * **Minitab 文件** :可以使用 foreign 包来读取 .mtw 文件。 library(foreign) data \<- read.minitab("data.mtw") ![](https://i-blog.csdnimg.cn/direct/29249dfeef234f37a303e7fc4c3060d5.png) \> 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: ![](https://i-blog.csdnimg.cn/direct/a3ce5c5987dc4e99894d160a0a323d68.png) ![](https://i-blog.csdnimg.cn/direct/18e8ebb73fca41529d705453871ad929.png) 实例2: 研究对象:肺癌,乳腺癌,膀胱癌,肝癌 研究方法:转录组测序,找到共同的差异基因 已有数据:四种肿瘤各自的差异基因 具体步骤: 1.读入数据-read.table() 2.取得交集-intersect() 3.频数统计,找到更多热点基因-table() 4.韦恩图可视化-venn.diagram() ![](https://i-blog.csdnimg.cn/direct/2e7073f666d644988e4cb5e112178414.png) ![](https://i-blog.csdnimg.cn/direct/bc1d230d298e441ca2c088a4b308dcac.png) Label.col和cat.col我没写可以自己加 ![](https://i-blog.csdnimg.cn/direct/93880ba37c2b4d52a8b5f0d59bfd4dce.png)

相关推荐
"_rainbow_"3 分钟前
Qt中的鼠标事件
开发语言·qt
缘来的精彩11 分钟前
kotlin 多个fragment beginTransaction容器添加使用
android·开发语言·kotlin
安小牛13 分钟前
Kotlin 学习-集合
android·开发语言·学习·kotlin
Peter_chq19 分钟前
selenium快速入门
linux·开发语言·chrome·python·selenium
双叶83624 分钟前
(51单片机)串口通讯(串口通讯教程)(串口接收发送教程)
c语言·开发语言·c++·单片机·嵌入式硬件·microsoft·51单片机
_x_w1 小时前
【12】数据结构之基于线性表的排序算法
开发语言·数据结构·笔记·python·算法·链表·排序算法
不爱学英文的码字机器1 小时前
Rust 的征服:从系统编程到全栈开发的 IT 新宠
开发语言·后端·rust
胖子君2 小时前
2025年BI工具趋势:DataFocus与FineBI的技术创新对比
数据分析
q567315232 小时前
用Dispatch库的爬虫程序爬取图片网站
开发语言·爬虫·python·scrapy
knightkkzboy2 小时前
《C语言中的“魔法盒子”:自定义函数的奇妙之旅》
c语言·开发语言·函数