Day - 5 R中的數(shù)據(jù)結(jié)構(gòu)
向量 Vector
多個(gè)元素有序排列的變量
產(chǎn)生向量的函數(shù)
c()
x <- c(n~1~,n~2~,...,n~n~)產(chǎn)生n個(gè)元素
:
x <- n:m產(chǎn)生n - m之間所有整數(shù)
seq(begin,end,by = )
x <- seq(1,20,by = 1)產(chǎn)生從1 - 20間,每間隔1取一個(gè)數(shù)
相當(dāng)于
x <- 1:20
rep(beg:end , times = )
x <- rep(1:5, times = 3)產(chǎn)生1 -5的數(shù)字, 并重復(fù)三次
向量中定位元素
x[]
x[1] / x[1:21] / x[c(1,3,5)]列出x中第1/第1到21的元素/第1、3、5個(gè)元素
x[c(-1)] / x[-c(1)]列出除第1個(gè)元素外的其他元素
x[logical expression]輸出x中為TRUE的元素
x[! is.na(x)]輸出x中非缺失值的元素
數(shù)據(jù)框 Data Frame
獲取本地?cái)?shù)據(jù)
read.csv/table(file = ' ')
查看數(shù)據(jù)框
dim(df)
查看數(shù)據(jù)框維度
head/tail(df)
查看數(shù)據(jù)框前/后10行數(shù)據(jù)
colnames/rownames(df)
查看列/行名
colname(df)[n] <- 'new_name
? 修改列名
數(shù)據(jù)框?qū)С?/h3>
write.table/csv(df, file = ' ')
數(shù)據(jù)框中的定位
df[row,col]
col/row可以是向量
df$colname
替代數(shù)據(jù)框名
attach(df)
attach(df)
plot(a,b)
...
detach(df)
attach數(shù)據(jù)框后, 默認(rèn)對(duì)該數(shù)據(jù)框中的變量進(jìn)行操作
但兩個(gè)以上數(shù)據(jù)框的列名沖突時(shí),不適用
with(df,expression)
變量的保存與加載
變量保存
save.image(file = 'name.RData')
write.table/csv(df, file = ' ')df[row,col]col/row可以是向量
df$colnameattach(df)attach(df)
plot(a,b)
...
detach(df)
attach數(shù)據(jù)框后, 默認(rèn)對(duì)該數(shù)據(jù)框中的變量進(jìn)行操作
但兩個(gè)以上數(shù)據(jù)框的列名沖突時(shí),不適用
with(df,expression)save.image(file = 'name.RData')保存所有變量
save(X, file = 'name.RData')
保存變量x
加載變量
load('name.RData)
思考題
save(X,file="test.RData")這句代碼如果報(bào)錯(cuò)object X not found,是為什么,應(yīng)該怎么解決?
報(bào)錯(cuò)原因: 沒有產(chǎn)生名為X的變量
解決: 對(duì)X進(jìn)行賦值