#1.1#### rm(list=ls()) age <- c(1,3,5,2,11,9,3,9,12,3) weight<-c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1) mean(weight) sd(weight) cor(age,weight) plot(age,weight) #matrix#### a<-matrix(1:20,nrow = 4,ncol = 5);a cells<-c(1,26,24,68) rnames<-c("R1","R2") cnames<-c("C1","C2") mymatrix1<-matrix(cells,nrow = 2,ncol = 2, byrow = FALSE, dimnames = list(rnames,cnames));mymatrix1 mymatrix2<-matrix(cells,nrow = 2,ncol = 2, byrow = TRUE, dimnames = list(rnames,cnames));mymatrix2 x<-matrix(1:20,nrow = 2) x x[2,] x[,3] x[2,5] x[1,c(4,5)] x[,c(4:7)] #array#### dim1<-c("A1","A2") dim2<-c("B1","B2","B3") dim3<-c("c1","c2","c3","c4") mnarray<-array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3)) View(mnarray) #data frame#### patientID<-c(1,2,3,4) age<-c(25,34,28,52) diabetes<-c("TYPE1","TYPE2","TYPE1","TYPE1") status<-c("Poor","Improved","Excellent","Poor") patientdata<-data.frame(patientID,age,diabetes,Status) patientdata [. 3:. 4] patientdata [,. 1: 2 ] rownames (patientdata) <- C ( 'A', 'B', 'C', 'D') fix (patientdata) # of changes in relation stored in dataframe Edit (patientdata) # temporarily modify patientdata [C ( "Diabetes", "Status")] patientdata $ Status Table (patientdata $ patientID, patientdata $ Age) # Cross Validation Summary (patientID) Summary (Age) COR (Age, patientID) CoV (Age, patientID) Plot (patientdata $ Age, patientdata $ patientID) The attach (CO2) Edit (CO2) Plot (uptake, CONC) the detach (CO2) head (mtcars) with (mtcars, {# with (the Data, {expression The}) benefits are not used frequently $ DataName Print (Summary (MPG)) Plot (MPG, DISP) Plot (MPG, wt) } ) with (mtcars, Print (Summary (MPG)) ) with (mtcars, { nokeepstats <(MPG -summary) within #with name the new variable must use << - keepstats<<-summary(mpg)}) keepstats nokeepstats status<-factor(status,order=TRUE) diabetes<-factor(diabetes) class(status) ls(patientdata) patientdata<-data.frame(patientID,age,diabetes,status) str(patientdata) # show data `s structure summary(patientdata) status<-factor(status,ordered = TRUE, levels = c("Poor","Improved","Excellent")) sex<-c("1","2","2","1") sex<-factor(sex,levels = c(1,2),labels = c("male","female")) #list#### g<-"my list" h<-c(25,26,18,39) j<-matrix(1:20,nrow = 2) k<-c("one","two","three") mylist<-list(title=g,ages=h,j,k) mylist mylist[[3]] mylist[["ages"]] #create new variate and recode rename manager<-c(1,2,3,4,5) date<-c("10/24/14","10/28/14","10/01/14","10/02/14","05/01/14") country<-c("M","F","F","M","F") age<-c(32,45,25,39,99) q1<-c(5,3,3,3,2) q2<-c(4,54,4,3,2) q3<-c(5,2,5,4,1) q4<-c(5,5,5,NA,2) q5<-c(5,5,2,NA,1) leadership<-data.frame(manager,date,country,age,q1,q2,q3,q4,q5, stringsAsFactors = FALSE) leadership$age[leadership$age==99]<-NA leadership$agecat[leadership$age>75]<-"elder" leadership$agecat[leadership$age<=75& leadership$age>=55]<-"middle aged" leadership$agecat[leadership$age<55]<-"young" #or leadership<-within(leadership,{ ageact<-NA ageact[age>75]<-"elder" ageact[age>=55&age<=75]<-"middle aged" ageact[age<55]<-"yough"}) leadership<-within(leadership,{ grade<-NA grade[q1>3]<-"good" #常用语修改dataframe时不用频繁使用dataframe$ grade[q1<=3]<-"bad"}) #compare 'with' at 64 with 'within' #修改行名、列名 names(leadership)[2] <- 'testdate' #列名 names(leadership) row.names(leadership) #行名 install.packages("plyr") library(plyr) rename(leadership,c(manager="managerID")) #datetime#### Sys.Date() date() mydate<-as.Date(c("2018-01-12","2008-01-11")) #must be default format mydate class(mydate) #or#### strdate<-c("2018/01/12","2008/01/12")# character dates<-as.Date(strdate,"%Y/%m/%d") # Date#,default format dates manager<-c(1,2,3,4,5) date<-c("10/24/14","10/28/14","10/01/14","10/02/14","05/01/14") country<-c("M","F","F","M","F") age<-c(32,45,25,39,99) q1<-c(5,3,3,3,2) q2<-c(4,5,4,3,2) q3<-c(5,2,5,4,1) q4<-c(5,5,5,NA,2) q5<-c(5,5,2,NA,1) leadership<-data.frame(manager,date,country,age,q1,q2,q3,q4,q5, stringsAsFactors = FALSE) #format #### myformat<-'%m/%d/%y' leadership$date<-as.Date(leadership$date,myformat) ;leadership$date class(leadership$date) View(leadership) date<-c("10/24/14","10/28/14","10/01/14","10/02/14","05/01/14") date<-as.Date(date,"%m/%d/%y");date format(date,format="%m-%d-%Y") #修改时间显示格式 format(date,format="%m/%d/%Y") #or today<-Sys.Date() format(today,format="%a") format(today,format="%A") startdate<-as.Date(today) endate <-as.Date("1994-01-21") days <-endate-startdate ;days # difftime today<-Sys.Date() anniversary<-as.Date("2012-10-29") difftime(today,anniversary,units = "days") 9145/365 today<-as.character(today) today #more <{ help("as.Date")!"help("strftime"),package(timeDate) #order#### rm(list = ls()) manager<-c(1,2,3,4,5) date<-c("10/24/14","10/28/14","10/01/14","10/02/14","05/01/14") country<-c("US","US","UK","UK","UK") gender<-c("M","F","F","M","F") age<-c(32,45,25,39,99) q1<-c(5,3,3,3,2) q2<-c(4,4,4,3,2) q3<-c(5,2,5,4,1) q4<-c(5,5,5,NA,2) q5<-c(5,5,2,NA,1) leadership<-data.frame(manager,date,country,gender,age,q1,q2,q3,q4,q5, stringsAsFactors = FALSE) newdata<-leadership[order(-leadership$age),];newdata newdata<-leadership[order(leadership$age),] ;NewData NewData <-leadership [Order (Gender, Age),]; the reordering newdata # Sex the attach (withleadership) #OR newdata1<-leadership[order(gender,-age),];newdata1 detach() # merge dataset #### rm(list = ls()) manager<-c(1,2,3,4,5) country<-c("US","US","UK","UK","UK") gender<-c("M","F","F","M","F") age<-c(32,45,25,39,99) q1<-c(5,3,3,3,2) q2<-c(4,4,4,3,2) leadership1<-data.frame(manager,country,gender,age,q1,q2, stringsAsFactors = FALSE) manager<-c(1,2,3,4,5) date<-c("10/24/14","10/28/14","10/01/14","10/02/14","05/01/14") q3<-c(5,2,5,4,1) q4<-c(5,5,5,NA,2) q5<-c(5,5,2,NA,1) leadership2<-data.frame(manager,date,q3,q4,q5, stringsAsFactors = FALSE) View(leadership1) View(leadership2) total<-merge(leadership1,leadership2,by="manager") total<-cbind(data.frame(leadership1),data.frame(leadership2)) View(total) #subset#### rm(list = ls()) manager<-c(1,2,3,4,5) date<-c("10/24/14","10/28/14","10/01/14","10/02/14","05/01/14") country<-c("US","US","UK","UK","UK") gender<-c("M","F","F","M","F") age<-c(32,45,25,39,99) q1<-c(5,3,3,3,2) q2<-c(4,4,4,3,2) q3<-c(5,2,5,4,1) q4<-c(5,5,5,NA,2) q5<-c(5,5,2,NA,1) leadership<-data.frame(manager,date,country,gender,age,q1,q2,q3,q4,q5, stringsAsFactors = FALSE) leadership["q1"] newdata<-leadership[,6:10];newdata newdata1<-leadership[,c(6:10)];newdata1 #or mycars<-c("q1","q2","q3","q4","q5") newdata2<-leadership[mycars];newdata2 #or mycars1<-paste("q",1:5,sep="") newdata3<-leadership[mycars1];newdata3 mycars2<-names(leadership)%in%c("q3","q4");mycars2 newdata4<-leadership[!mycars2];newdata4 #or newdata5<-leadership[c(-8,-9)];newdata5 #or leadership$q3<-NULL leadership$q3<-leadership$q4<-NULL newdata<-leadership[1:3,] ;newdata newdata<-leadership[,1:3] ;newdata #or newdata<-leadership[leadership$gender=="M"& leadership$age>30,];newdata #or attach(leadership) newdata<-leadership[gender=="M"&age>30,] detach(leadership) leadership$date<-as.Date(leadership$date,"%m/%d/%y") startdate<-as.Date("2014-10-02") enddate<-as.Date("2014-10-25") newdata<-leadership[which(leadership$date>=startdate&leadership$date<=enddate),];newdata #4-10-4 subset()#### newdata <-subset(leadership,age>30&gender=="M", select = c(q1,q2,q3,q4)) newdata6<-subset(leadership,age>30&age<50,select = c(q1:q5));newdata6 newdata7<-subset(leadership,age>50|age<30,select = gender:q1) ;newdata7 mysample<-leadership[sample(1:8,size = 3,replace = TRUE)];mysample #samples random column patientID<-c(1,2,3,4) age<-c(25,34,28,52) diabetes<-c("TYPE1","TYPE2","TYPE1","TYPE1") status<-c("Poor","Improved","Excellent","Poor") status<-factor(status,order=TRUE)# diabetes<-factor(diabetes) class(status) ls(patientdata) patientdata<-data.frame(patientID,age,diabetes,status) mysample<-patientdata[sample(1:ncol(patientdata),size = 3,replace = FALSE)];mysample nrow(leadership) #chapter 3#### attach(mtcars) plot(wt,mpg) abline(lm(mpg~wt)) #adds a line of best fit title("regression of mpg on weight") detach(mtcars) pdf("mygraph.pdf") attach(mtcars) plot(wt,mpg) abline(lm(mpg~wt)) #adds a line of best fit title("regression of mpg on weight") detach(mtcars) dev.off()