一 數(shù)據(jù)類型
1. 向量(vector)
1.標(biāo)量和向量的區(qū)別
元素:指數(shù)字或字符串
標(biāo)量:一個(gè)元素組成的變量
向量:多個(gè)元素組成的變量
一般都會(huì)直接給變量定義,也就是“賦值”,給同一個(gè)變量賦值多次后,以最后次賦值為輸出。
2. 從向量中提取元素
a.根據(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è)元素
b.根據(jù)值
x[x==10]#等于10的元素
2. 數(shù)據(jù)框
(1)讀取本地?cái)?shù)據(jù)
用?read.table查詢不了解的函數(shù)或者命令,在腳本編輯窗口輸入?read.table,會(huì)自動(dòng)彈出右下角幫助窗口,如下:

下面是header和seq解釋:
header:a logical value indicating whether the file contains the names of the variables as its first line. If missing, the value is determined from the file format: header is set to TRUE if and only if the first row contains one fewer field than the number of columns. 邏輯值。用于指出文件的第一行是否為數(shù)據(jù)變量的名字。缺省情況下,由文件的格式來確定此值。如果header設(shè)置為TRUE,則要求第一行要比數(shù)據(jù)列的數(shù)量少一列。
sep:the field separator character. Values on each line of the file are separated by this character. If sep = "" (the default for read.table) the separator is ‘white space’, that is one or more spaces, tabs, newlines or carriage returns.seq 數(shù)據(jù)的分隔符。默認(rèn)情況下,sep=""。此參數(shù)用于指定數(shù)據(jù)文件中每行中數(shù)據(jù)之間使用的分隔符。默認(rèn)情況下,read.table()函數(shù)以空白作為數(shù)據(jù)的分隔符,即默認(rèn)情況下,read.table()函數(shù)可以將1個(gè)或多個(gè)空格、tab制表符、換行符或回車符作為分隔符。(空格、TAB、換行符、回車符)
read.table(file = (要讀取的文件名),sep =""(分隔符,默認(rèn)為空格),header,quote(用于指定包圍字符型數(shù)據(jù)的字符,默認(rèn)情況下,字符串可以被 " 或 ' 括起)參考
(2)設(shè)置行名和列名
colnames(x)查看列名
rownames(x)查看行名
變量<-read.csv(file(文件名), sep = "", header =T, row.names=1(修改第一列為行名))
(3)數(shù)據(jù)框的導(dǎo)出
write.table(需要導(dǎo)出的數(shù)據(jù),file導(dǎo)出文件名稱/路徑,sep ="", row.names(是否導(dǎo)出行序號,默認(rèn)為TRUE,也就是導(dǎo)出行序號), col>names(是否導(dǎo)出列名,默認(rèn)為TRUE,也就是導(dǎo)出列名),quote(字符串是否使用引號表示,默認(rèn)為TRUE,也就是使用引號表示))
如:
write.table (x, file ="", sep ="", row.names =TRUE, col.names =TRUE, quote =TRUE)
參考:
(4)變量的保存與重新加載
save.image("文件名.RData")保存工作空間到文件'文件名.RData'中(默認(rèn)值為.RData)`
save(變量名,file="文件名.RData")保存指定對象到文件'文件名.RData中
load("文件名.RData")讀取此變量到當(dāng)前會(huì)話中,默認(rèn)值為.RData。
(5)提取元素
- 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$列名#也可以提取列
(6)直接使用數(shù)據(jù)框中的變量
例子如下:
a<data.frame(case=paste("S",1:50),values=runif(50))
plot(a$case,a$values)
3.問題:
另外請?jiān)谧鳂I(yè)中回答一個(gè)問題:save(X,file="test.RData")這句代碼如果報(bào)錯(cuò)X not found,是為什么,應(yīng)該怎么解決?
可能原因:1.保存之前未對變量x進(jìn)行賦值,所以無法找到這個(gè)變量X,所以save之前,對X進(jìn)行賦值即可;
2.大小寫不正確,導(dǎo)致找不到。
下面是今天所學(xué)的思維導(dǎo)圖:

結(jié)語:今天發(fā)現(xiàn)要學(xué)的R語言還有很多很多,需要系統(tǒng)的去學(xué)習(xí),去操作了,否則還是迷迷糊糊的。