1.標(biāo)量和向量的區(qū)分

標(biāo)量:一個(gè)元素組成的變量
向量:多個(gè)元素組成的變量
x<- c(1,2,3)#常用的向量寫法,意為將x定義為由元素1,2,3組成的向量。
x
x<- 1:10 #從1-10之間所有的整數(shù)
x
x<- seq(1,10,by = 0.5)#1-10之間每隔0.5取一個(gè)數(shù)(注意是逗號(hào)不是分號(hào))
x
x<- rep(1:3,times=2) #1-3 重復(fù)2次
x
2.從向量中提取元素
(1)根據(jù)元素位置
x[4] #x第4個(gè)元素

x[-4]#排除法,除了第4個(gè)元素之外剩余的元素

x[2:4]#第2到4個(gè)元素
x[-(2:4)]#除了第2-4個(gè)元素
x[c(1,5)] #第1個(gè)和第5個(gè)元素
(2)根據(jù)值

x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
數(shù)據(jù)結(jié)構(gòu)
(1)讀取本地?cái)?shù)據(jù)
X<-read.csv('doudou.txt')

read.table(file = "huahua.txt",sep ="\t",header =T)
a<-read.table(file ="huahua.txt",sep ="\t",header = T)

(2)設(shè)置行名和列名
X<-read.csv('doudou.txt')#在示例數(shù)據(jù)里有doudou.txt 注意這里的變量X是一個(gè)數(shù)據(jù)框
colnames(X)#查看列名
rownames(X) #查看行名,默認(rèn)值的行名就是行號(hào),1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回?cái)?shù)據(jù),左上角第一格為空,R會(huì)自動(dòng)補(bǔ)為x,用這個(gè)命令來修改

X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列為行名
file.choose():讀入該文件,這樣我們知道該文件的具體路徑。
file參數(shù): 路徑和文件名,windows下用的是反斜杠\
head=T: 是首行問題,T表明文件有標(biāo)題,將文件中的第一行作為列名。若head=F,則原來文件沒有 標(biāo)題,增加一行V1,V2,...作為文件的第一行,即作為列名。read.csv()函數(shù)默認(rèn)為head=T。
sep=“,”: 分隔符問題,這里分隔符的選擇會(huì)影響輸入的被引用的字符串。
nrows=200: 行數(shù)問題,表明讀取該文件的前200行。
stringsAsFactors = FALSE : 字符型數(shù)據(jù)讀入時(shí)自動(dòng)轉(zhuǎn)換為因子,防止轉(zhuǎn)換為因子,令參數(shù)stringsAsFactors = FALSE, 防止導(dǎo)入的數(shù)據(jù)任何因子的轉(zhuǎn)換。
(3)數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改為逗號(hào),字符串不加雙引號(hào)(默認(rèn)格式帶由雙引號(hào))
(4)變量的保存與重新加載
save.image(file="bioinfoplanet.RData")#保存當(dāng)前所有變量
save(x,file="test.RData")#保存其中一個(gè)變量
load("test.RData")#再次使用RData時(shí)的加載命令
(5)提取元素

(6)【選修部分】直接使用數(shù)據(jù)框中的變量
options(stringsAsFactors = T)
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(a$case,a$values)
環(huán)境設(shè)置函數(shù)為options(),用options()命令可以設(shè)置一些環(huán)境變量
stringsAsFactors = FALSE : 字符型數(shù)據(jù)讀入時(shí)自動(dòng)轉(zhuǎn)換為因子,防止轉(zhuǎn)換為因子,ringsAsFactors = FALSE, 防止導(dǎo)入的數(shù)據(jù)任何因子的轉(zhuǎn)換。
data.frame()的使用
image.png
所以case=paste0("S",1:9)相當(dāng)于橫坐標(biāo)的取值,values=runif(9)相當(dāng)于縱坐標(biāo)的取值
方法1:attach
將數(shù)據(jù)框名添加到搜索環(huán)境中:attach(a),作圖時(shí)就只需輸入列名(連$都不用了)。
attach(a)
plot(case,values)
問題:
Q:save(X,file="test.RData")這句代碼如果報(bào)錯(cuò)object X not found,是為什么,應(yīng)該怎么解決?
A:X應(yīng)該是小寫
