生信学习小组Day5笔记—Chocolate Ice
2023-02-25 18:19:06 时间
R语言的数据类型与对象类型
- R的数据类型 主要有三种:
a = 1 #数字
b <- TRUE #逻辑
b = "abc" #字符串
- R的对象类型 主要有六种
向量(vector)**
列表(list)
矩阵(matrix)
数组(array)
因子(factor)
数据框(data.frame)**
向量与数据框是最重要最常用的两种对象类型。
向量
- 概念解释: 元素:指的是数字或者逻辑或者字符串 标量:一个元素组成的变量 向量:多个元素有序排列组成的变量(元素的数据类型必须统一,要么全是数字,要么全是字符串)
- 从向量中提取元素
!!!提取子集的重要符号:
[]
(1)根据元素位置
x<-c(1:10) #x是一个由数字1到10组成的向量
x[4] #x第4个元素
x[-4]#排除法,除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素
(2)根据值
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
数据框
- 概念解释:数据框:相当于excel表格,由行和列组成。行列之间的数据类型可以不一样(矩阵内的每个元素都必须是一样的数据类型)
- 读取本地数据 在工作目录下新建文本文件(.txt),粘贴以下内容
X1 X2
A 1
B 2
C 4
D 3
E 7
尝试使用
read.table()
以及read.csv()
读取数据
小贴士:默认从工作目录内提取文件,所以最好把数据保存在工作目录下,方便数据提取
- 设置行名列名
X<-read.csv('test.txt') #这里的变量X是一个数据框
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号,1.2.3.4...
colnames(X)[1]<-"name"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
X<-read.csv(file = "test.txt",sep = " ",header =T,row.names=1)
#最后row.names的意思是修改第一列为行名
#header=T的意思是第一行为表头
# sep=" "意思是指定字符的分隔符号为" ",在输入的时候,原内容是用什么符号分隔的,sep就要保持一致,否则可能无法正确读取。
- 数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F)
#分隔符改为逗号,字符串不加双引号(默认格式带由双引号)
- 变量的保存与重新加载
save.image(file="nhanes.RData")#保存当前environmemt中所有变量
save(X,file="test.RData")#保存其中一个变量
load("test.RData")#再次使用RData时的加载命令
- 从数据框中提取元素
- X[x,y]#第x行第y列
- X[x,]#第x行
- X[,y]#第y列
- X[y] #也是第y列
- X[a:b]#第a列到第b列
- X[c(a,b)]#第a列和第b列
- X$列名#也可以提取列(优秀写法,不过只能提取一列)
课后问题
请在作业中回答一个问题:save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决?
报错原因:没有X这个变量,可能是本来没有新建X这个变量,也可能是变量名字打错了(比如大小写)
解决方法:在environment中找找是否有这个变量,核查变量名输入是否正确
相关文章
- 教你用 Python 快速获取行业板块股,辅助价值投资!
- 松哥当年读的这本书,现在推荐给大家
- 这些书,推荐给小伙伴们,也送给小伙伴们!
- 基于React/Vue搭建一个通用的表单管理配置平台
- 2021 十大 Python 机器学习库
- C++都有哪些就业方向?是否应该学习C++?
- 买了很多书,看了很多教程,仍然看不懂开源代码......
- NVIDIA Jetson 产品型号对照表
- 机器学习入门必看|使用 scikit-learn 构建模型的万能模板
- Trifork 公司如何利用NVIDIA Jetson减少机场的行李延误
- Spring Boot 异常处理,值得学习!
- 生信技能树学习笔记-day6
- 非对称密钥沉思系列 收官篇:证书格式与编码的部分总结
- 推荐! Dooring低代码产品使用教程
- (数据科学学习手札148)geopandas直接支持gdb文件写出与追加
- 精益六西格玛与零售管理是什么关系
- 社交互动的未来:Web3 中的“SocialFi”是什么?
- Things3 for Mac(日程和任务管理工具)
- 长、中、短视频“再战”微短剧
- 你为什么需要一个强大的数据集成平台?