2020-11-03 day 5 R語言學(xué)習(xí)

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

微信圖片_20201103210459.png

標(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è)元素


image.png

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


image.png

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


image.png

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')

image.png

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

image.png

(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è)命令來修改

image.png

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)提取元素

image.png

(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)該是小寫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容