数据结构
向量:数字或字符串组成,甚至是数据框组成。
数据框:每一列都有一个唯一的列名,长度都是相等的,同一列的数据类型需要一致,不同列的数据类型可以不一样。
其他数据结构:列表,矩阵,数组。
向量在R界面的操作
生成一个向量:
x<-c(7.8,1,2,3)
生成一个向量,包含1:60中的所有整数:
y<- c(1:60)
使用seq函数生成一个向量
zd<- seq(1,50,by = 2) #1-50之间每隔2取一个数
使用rep函数生成一个向量
rt<- rep(1:10,times=3) #1-10 重复3次
从向量中提取元素:
1.根据下标提取
rt[5] #提取rt中的第5个元素
rt[-5] #排除法,提取rt中除了第5个元素之外剩余的元素
rt[4:6] #提取rt中第4到6个元素
rt[-(5:8)]#提取rt中除了第5-8个元素的所有元素
rt[c(8,12)] #提取rt中第8个和第12个元素
2.根据逻辑值提取
rt[x==10]# 提取rt中所有为10的元素
rt[x<0] #提取rt中所有<10的元素
rt[rt %in% c(1,2,5)] #存在于向量c(1,2,5)中的元素;%in%管道符号,表示从rt中提取每一个属于1,2,5的向量。
数据框
读取本地数据
setwd("C:/Users/Dell/Desktop") #设置工作目录
library(rio) #加载R包
X <- import(file = "生信/豆花分享/doudou.txt") #读取文件
View(X) #查看X数据
colnames(X) #查看列名
row.names(X) #查看行名
colnames(X)[1] <- "BIOPLANET" #修改第一列的名字为BIOPLANET
X <- import("生信/豆花分享/huahua.txt") #读取文件
导出数据框
write.csv(X,file = "yu.csv")
RData操作
save.image(file = "生信/豆花分享/bioinfoplanet.RData") #保存当前所有变量
save(X,file = "生信/豆花分享/test.RData") #保存其中一个变量
load("生信/豆花分享/test.RData") #再次使用RData时的加载命令
提取元素
X[1,2] #提取第1行第2列
X[1,] #提取第1行
X[,2] #提取第2列
X[2] #提取第2列
X[1:2] #提取第1列到第2列
X[c(1,2)] #取第1列和第2列
X$X1 #提取第1列
PS:当进行save(X,file="test.RData"),报错object X not found。
此时说明在当前环境中找不到你要保存的变量X。
解决方案是重新确认环境中要保存变量的名称,注意区分大小写。