R語言基礎
初次編寫R語言程序,根據退件使用指南網站https://www.statmethods.net/
一、數據集子集化(數據集篩選)
getwd() #獲取當前working directory
statesInfo<-read.csv("stateData.csv") #讀取CSV文件
#數據子集化
stateSubset <- subset(statesInfo,state.region ==1) #滿足state.region ==1的所有行,後還可有參數選擇留下的變量,默認是全部
stateSubset1 <- subset(statesInfo,state.region ==1,select=state.abb:state.region) #保留state.abb到state.region的所有變量
stateSubsetBracker <- statesInfo[statesInfo$state.region==1,] #數組切割法,結果與上行同。
myVars <- c("population", "income", "illiteracy" )
myset <-statesInfo[myVars]
myvars <- c("v1", "v2", "v3")#保留三個變量
newdata <- mydata[myvars]
myvars <- paste("v", 1:3, sep="")
newdata <- mydata[myvars] #同上 保留三個變量
newdata <- mydata[c(1,5:10)]#保留第一個,第五個到第十個變量
newdata <- mydata[1:5,] #保留前五個變量
newdata <- mydata[which(mydata$gender=="F" & mydata$age>60)] #根據年齡和性別篩選變量
attach(mydata) #根據年齡和性別篩選變量,同上
newdata <- mydata[ which(gender=='F' & age > 65),]
detach(mydata)
myvars <- names(mydata) %in% c("v1", "v2", "v3")
newdata <- mydata[!myvars] #刪除三個變量"v1", "v2", "v3"
newdata <- mydata[c(-3,-5)] #刪除第三個和第五個變量
mydata$v3 <- mydata$v5 <- NULL #刪除V3和V5變量(直接原數據刪除了,不建議使用)
注:paste用法如下
paste(....,sep="",collapse=NULL)
...表示要加在一起的數據類型,e.g
p<-paste("b",1:5)
"b 1" "b 2" "b 3" "b 4" "b 5" 注意這裏每一項中間有空格隔開,如果不想要空格,需要使用sep參數
p<-paste("b",1:5,sep="")
"b1" "b2" "b3" "b4" "b5"
所以sep參數的作用是隔開被連接在一起的數據,當然必須是character string,例如:
p <-paste("b",1:5,sep="f")
"bf1" "bf2" "bf3" "bf4" "bf5"
collapse通常不用給出,如果給出,則整個結果變爲一個string,例如:
p <-paste("b",1:5,sep="f",collapse="s")
"bf1sbf2sbf3sbf4sbf5"