|
1.1 向量 1.2 矩陣 1.3 數(shù)據(jù)框 2.1 c() 連接單個數(shù)據(jù) 2.2 ':' 生成1/-1等差向量 2.3 seq() 生成等距向量 2.4 rep() 生成重復(fù)數(shù)據(jù) 3.1 引用行/引用列 3.2 引用單個元素 3.3 引用子矩陣 3.4 變量名引用 4.1 更改工作目錄 4.2 read.table 4.3 read.csv 正文 1 數(shù)據(jù)結(jié)構(gòu) 1.1 向量 > c(1,2,8)#生成包含1,2,8的一維數(shù)組(向量)[1] 1 2 81.2 矩陣
1.3 數(shù)據(jù)框 > x <- c(11:20) #其中' <- '是賦值的意思,將向量c(11:20)賦值給對象x> y <- c(1:10)> data.frame(xf = x, yf = x) #將向量x和y合并存儲到數(shù)據(jù)框中,并重命名為xf和yf xf yf1 11 112 12 123 13 134 14 145 15 156 16 167 17 178 18 189 19 1910 20 202 生成數(shù)據(jù) 本節(jié)主要講“c()”、':'、seq、rep等四種數(shù)據(jù)生成的內(nèi)容(入門必須學(xué)) 2.1 “c” 連接單個數(shù)據(jù) 2.2 “:“ 生成1/-1等差向量 > 1.1:10[1] 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1> 1:10 [1] 1 2 3 4 5 6 7 8 9 10> 10:1 #如x=1:10(遞減,如y=10:1) [1] 10 9 8 7 6 5 4 3 2 1![]() 2.3 seq 生成等距向量 ![]()
![]() 2.4 rep(x,n) 重復(fù) ![]() rep(1:3,3)rep(1:3,each=3)#> rep(1:3,3)#[1] 1 2 3 1 2 3 1 2 3#> rep(1:3,each = 3)#[1] 1 1 1 2 2 2 3 3 33 數(shù)據(jù)引用(以矩陣為例) ![]() 3.1 行引用/列引用 ![]() ![]() 3.2 行列值引用:數(shù)據(jù)集[行值,列值] ![]() > iris[1,] #引用第1行數(shù)據(jù) Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 5.1 3.5 1.4 0.2 setosa> head(iris[,1],5) #引用第1列的數(shù)據(jù),其中因數(shù)據(jù)過長,使用head()函數(shù)取前5個數(shù)字[1] 5.1 4.9 4.7 4.6 5.0![]() 3.3 引用子矩陣 ![]()
![]() 3.4 變量名引用 ![]() > head(iris$Petal.Length,5)[1] 1.4 1.4 1.3 1.5 1.44 讀取外部數(shù)據(jù)(以.csv表為例) 本節(jié)主要講如何讀取外部數(shù)據(jù)(表) (以.csv表為例) ![]() 4.1 設(shè)置工作目錄 ![]()
![]() ![]() ![]() 4.2 read.table() ![]() read.table(file, header = FALSE, sep = '', quote = '\''', dec = '.', numerals = c('allow.loss', 'warn.loss', 'no.loss'), row.names, col.names, as.is = !stringsAsFactors, na.strings = 'NA', colClasses = NA, nrows = -1, skip = 0, check.names = TRUE, fill = !blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE, comment.char = '#', allowEscapes = FALSE, flush = FALSE, stringsAsFactors = default.stringsAsFactors(), fileEncoding = '', encoding = 'unknown', text, skipNul = FALSE)read.csv(file, header = TRUE, sep = ',', quote = '\'',dec = '.', fill = TRUE, comment.char = '', ...)read.csv2(file, header = TRUE, sep = ';', quote = '\'',dec = ',', fill = TRUE, comment.char = '', ...)read.delim(file, header = TRUE, sep = '\t', quote = '\'',dec = '.', fill = TRUE, comment.char = '', ...)read.delim2(file, header = TRUE, sep = '\t', quote = '\'', dec = ',', fill = TRUE, comment.char = '', ...)
> df<- read.table('data.txt')> dfV1 V21 x y2 1 23 3 44 5 6> df <- read.table('data.txt',header = T)> dfx y1 1 22 3 43 5 6
> df <- read.table('data.csv',header = T) #讀數(shù)+首行表頭> head(df)ID.Sepal.Length.Sepal.Width.Petal.Length.Petal.Width.Species1 1,5.1,3.5,1.4,0.2,setosa2 2,4.9,3,1.4,0.2,setosa3 3,4.7,3.2,1.3,0.2,setosa4 4,4.6,3.1,1.5,0.2,setosa5 5,5,3.6,1.4,0.2,setosa6 6,5.4,3.9,1.7,0.4,setosa
> df <- read.table('data.csv',header = T,sep=',',stringsAsFactor = T)##讀數(shù)+首行表頭+','逗號分割+字符轉(zhuǎn)因子factor> head(df)ID Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 1 5.1 3.5 1.4 0.2 setosa2 2 4.9 3.0 1.4 0.2 setosa3 3 4.7 3.2 1.3 0.2 setosa4 4 4.6 3.1 1.5 0.2 setosa5 5 5.0 3.6 1.4 0.2 setosa6 6 5.4 3.9 1.7 0.4 setosa #請注意species結(jié)果與樣式3中結(jié)果的差異> summary(df) ID Sepal.Length Sepal.Width Petal.Length Min. : 1.00 Min. :4.300 Min. :2.000 Min. :1.000 1st Qu.: 38.25 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 Median : 75.50 Median :5.800 Median :3.000 Median :4.350 Mean : 75.50 Mean :5.843 Mean :3.057 Mean :3.758 3rd Qu.:112.75 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 Max. :150.00 Max. :7.900 Max. :4.400 Max. :6.900 Petal.Width Species Min. :0.100 setosa :50 1st Qu.:0.300 versicolor:50 Median :1.300 virginica :50 Mean :1.199 3rd Qu.:1.800 Max. :2.500 ![]() 4.3 read.csv() ![]()
#實例> df <- read.csv('data.csv') #相當(dāng)于df <- read.table('data.csv',header = T,sep=',',stringsAsFactor = T)> head(df)ID Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 1 5.1 3.5 1.4 0.2 setosa2 2 4.9 3.0 1.4 0.2 setosa3 3 4.7 3.2 1.3 0.2 setosa4 4 4.6 3.1 1.5 0.2 setosa5 5 5.0 3.6 1.4 0.2 setosa6 6 5.4 3.9 1.7 0.4 setosa喜歡你就轉(zhuǎn)發(fā)一下吧 ![]() |
|
|