數(shù)據(jù)結(jié)構(gòu)
向量:數(shù)字或字符串組成,甚至是數(shù)據(jù)框組成。
數(shù)據(jù)框:每一列都有一個唯一的列名,長度都是相等的,同一列的數(shù)據(jù)類型需要一致,不同列的數(shù)據(jù)類型可以不一樣。
其他數(shù)據(jù)結(jié)構(gòu):列表,矩陣,數(shù)組。
向量在R界面的操作
生成一個向量:
x<-c(7.8,1,2,3)
生成一個向量,包含1:60中的所有整數(shù):
y<- c(1:60)
使用seq函數(shù)生成一個向量
zd<- seq(1,50,by = 2) #1-50之間每隔2取一個數(shù)
使用rep函數(shù)生成一個向量
rt<- rep(1:10,times=3) #1-10 重復(fù)3次
從向量中提取元素:
1.根據(jù)下標提取
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.根據(jù)邏輯值提取
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的向量。
數(shù)據(jù)框
讀取本地數(shù)據(jù)
setwd("C:/Users/Dell/Desktop") #設(shè)置工作目錄
library(rio) #加載R包
X <- import(file = "生信/豆花分享/doudou.txt") #讀取文件
View(X) #查看X數(shù)據(jù)
colnames(X) #查看列名
row.names(X) #查看行名
colnames(X)[1] <- "BIOPLANET" #修改第一列的名字為BIOPLANET
X <- import("生信/豆花分享/huahua.txt") #讀取文件
導(dǎo)出數(shù)據(jù)框
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。
此時說明在當前環(huán)境中找不到你要保存的變量X。
解決方案是重新確認環(huán)境中要保存變量的名稱,注意區(qū)分大小寫。

數(shù)據(jù)結(jié)構(gòu).png