Advertisement

R语言学习1

阅读量:
复制代码
 #1.vector

    
 a <- c(1,2,3,4,5.8)
    
 b <- c("a","b","c")
    
 c(TRUE,FALSE)
    
 d <- c(1,2,"3")
    
 d
    
  
    
 #向量下标和子集
    
 #提取元素用[]
    
 a <- c(1,3,5,"one")
    
 a[3]
    
 a[c(1,3,4)]
    
 a[1:3]
    
 a[1,3,4]#报错
    
 a
    
 a[1] <- "22222"
    
 a
    
 a[c(1,2)] <- c("zzzz","kkkk")
    
 a
    
  
    
 #负下标表示扣除相应的元素后的子集
    
 x <- c(1,4,6.25)
    
 x[-2]
    
 x[-c(1,3)]
    
 x[]
    
  
    
 #下标超界
    
 x <- c(1,2,3)
    
 x[5] <- 333
    
 x
    
  
    
 #元素名
    
 ages <- c("李明"=30, "张聪"=25, "刘颖"=28)
    
 ages["李明"] <- 1000
    
 ages
    
  
    
 #数据结构
    
 class(x)
    
 #数据类型
    
 typeof(x)
    
  
    
 s <- 1:3
    
 s
    
 class(k)
    
 k <- c(1:3)
    
 k
    
 s==k
    
  
    
 b <- c(1:6)#1 2 3 4 5 6
    
 ?seq#Sequence Generation 序列生成
    
 c <- seq(from=1,to=100,by=5)#等差数列
    
 d <- seq(from=1,to=100,length.out=10)#生成十个数
    
 b
    
 c
    
 d
    
 list(b,c)
    
 #运算
    
 5%/%3#取整
    
 5%%3#取余
    
 x <- c(1,2,NA,3)
    
 x
    
 x+10
    
 x*2
    
  
    
 a <- c(1,2)
    
 b <- c(2,3,4)
    
 a+b
    
  
    
 #向量化函数
    
 sqrt(c(1,2,4))
    
 #排序函数
    
 x <- c(1,3,2,1,2)
    
 sort(x)
    
 rev(sort(x))#reverse
    
 x <- c(33,55,11)
    
 y <- order(x)
    
 y
    
 class(x)
    
 x[y]
    
  
    
 #2.matrix
    
 ?matrix
    
 #matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
    
 #       dimnames = NULL)
    
 y <- matrix(5:24,nrow=4,ncol=5)#默认列填充
    
 y
    
 #矩阵按行,列填充,行名列名
    
 ma <-c(1,2,3,4)
    
 rname <- c("r1","r2")
    
 cname <- c("c1","c2")
    
 li <- list(rname,cname)#列表,先行名后列名
    
 myma <- matrix(data=ma,nrow = 2,ncol = 2,dimnames = li)
    
 myma#默认列填充
    
  
    
 myma <- matrix(data=ma,nrow = 2,ncol = 2,dimnames = li,byrow=TRUE)
    
 myma#按行填充
    
  
    
 #矩阵提取元素
    
 ma <- matrix(1:10,nrow=2)
    
 ma
    
 ma[2,]#第二行
    
 ma[,c(1,3)]#所有行,一三列
    
  
    
 #3.array
    
  
    
 #4.dataframes
    
 id <- c(3,4,5,7)
    
 age <- c(25,34,28,52)
    
 diabetes <- c("a","a","b","a")
    
 mydf <- data.frame(id,age,diabetes)
    
 mydf
    
 rownames(mydf) <- mydf$id
    
 mydf
    
 mydf$id <- NULL
    
 mydf
    
 mydf["4",]
    
 mydf[4,]
    
  
    
 #选取元素
    
 mydf
    
 mydf[c(1,2)]
    
 mydf[1:2]
    
 mydf[1,2]#取第一行第二个元素
    
 mydf[c(1,3)]
    
 mydf[3]
    
 mydf[c("id","age")]
    
  
    
 #eg
    
 cars <- mtcars#内置数据集
    
 cars
    
 summary(cars$mpg)#对mpg一列进行五数概括
    
 #median中位数,mean平均数
    
  
    
 #用attach函数简化输入
    
 attach(mtcars) #attach联系,将数据框添加到r搜索路径
    
   summary(mpg) 
    
   plot (mpg, disp) 
    
   plot (mpg, wt)
    
 detach (mtcars)#detach分离,将数据框从r搜索路径中移除
    
   
    
 #5.factors
    
 #普通因子,有序因子ordered=TRUE,levels覆盖默认排序
    
 ?factor
    
 ?str
    
   
    
 #6.lists
    
 rec <- list(name="李明", age=30,
    
         scores=c(85, 76, 90))
    
 rec

全部评论 (0)

还没有任何评论哟~