生信学习小组Day5笔记—Chocolate Ice
2023-06-13 09:16:42 时间
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中找找是否有这个变量,核查变量名输入是否正确
相关文章
- Spring学习笔记(三十)——SpringBoot对象拷贝总结&Mapstruct
- Spring Framework 源码学习笔记(三)
- Linux — Makefile的学习笔记以及多级目录下Makefile的编写
- 李宏毅《机器学习 深度学习》简要笔记(一)
- GoogLeNet论文学习笔记
- Ansible自动化运维学习笔记1
- 【学习笔记】HTML5
- 【Python】初学者喜欢的Python入门笔记
- Servlet学习笔记6(request请求对象、response响应对象2)
- 【教程】Notion笔记多平台设置中文显示
- 学习小组Day2笔记-毽子
- 生信学习小组Day6笔记—Chocolate Ice
- 关于 Kubernetes中Volume的一些笔记
- 生信技能树学习笔记 Day1
- R语言基础笔记-03(ggplot2)
- 【BLE学习笔记】BLE协议中的16位UUID和128位UUID有啥区别?
- Java基础学习笔记六 Java基础语法之类和ArrayList详解编程语言
- Java架构面试专题寒冬(含答案)和学习笔记
- MySQL学习笔记写循环语句优化与技巧(mysql中写循环语句)
- Javascript学习笔记4Eval函数
- javascript学习笔记(二)鼠标经过时,改变div块的背景色的代码
- javascript权威指南学习笔记之变量作用域分享
- Android学习笔记——Menu介绍(一)