今天开始学习R语言

getwd()
setwd(“C:/Users/chunbaizhi/R106/R”)
#目录/修改目录

install.packages(“stringr”)
#安包

remove.packages(“stringr”)
#删包

library()
#查看全部包

.libPaths()
#查看包下载位置

library(“stringr”)
#调包

search()
#查看调的包

detach(“package:stringr”)
#取消调用

#赋值使用 <-

#NA(缺失值),用来替补所有应有数据位置的值
#Null(空值), 不会被视为一个值(如计算向量长度时不计算在内)

#NaN,无意义的值(如0/0),会被视为一个值

#逻辑运算符 例如:&(与,正常判断符) &&(与,只判断第一个元素)等等

#向量
a <- c(2,3,4)#一个三元素向量,向量元素下标是从1开始的,可重复访问,可不连续访问
a[1]

seq(1,9,by=2)#创建一个1到9的等差数列,公差为2
rep(a,3)#创建一个复制重复向量的向量
new.a <- c()#创建空向量
a
a <- c()#似乎没区别
a
A = sample(c(17,18,19),10,replace=T);A#随机函数,创建值为17,18,19的10个数字,T,可以重复取值
A = sample(c(17,18,19),10,replace=F);A
all(A>18)#对向量所有元素进行判断
A>18

a <- matrix(1:18,nrow=2)#把向量按照规律变换成矩阵,行数*列数等于向量元素总数(优先列排排)
a
a <- matrix(1:18,nrow=3)
a
a <- a[,2]#切片[行,列]
a
a[a%%3==0 & a>5]
a[2,3]

a <- matrix(1:18,nrow=2)#把向量按照规律变换成矩阵,行数*列数等于向量元素总数(优先列排排)
a
a <- matrix(1:18,nrow=3)
a
a <- a[,2]#切片[行,列]
a

#应用:修改图片 package:pixmap
library(pixmap)
p<-read.pgm(“python.pgm”)
p#使用矩阵图片
plot§
str§
p2 <-p
p2@grey[80:103,10:60] <-1
plot(p2)

#矩阵的行列操作(1,行。2,列)
apply(a,1,max)
apply(a,2,max)

a <- matrix(1:12, nrow = 3)
a
b <- matrix(21:26, nrow = 3)
b
cbind(a,b)
rbind(a,b)
b <- matrix(21:24,nrow = 1)
b
rbind(a,b)

#数组,dim的(2,3,2)指2行3列2组
a <- matrix(sample(90:100,6 ,replace=F),nrow=2)
b <- matrix(sample(90:100,6 ,replace=F),nrow=2)
a;b
c <- array(data=c(a,b),dim=c(2,3,2))
c
attributes©#查看维度

#列表
list <- list(name=“gegege”,id=1001, is.past.exam=T)
list
list2 <- list(“gegege”,1001,T)#可以不加标签
list2
list <- list(name=c(“gegege”,“gagaga”),id=1001, is.past.exam=T)
list
new <- vector(mode=“list”)#创建一个空列表
new
c(a,b)#拼接列表
list<-list(a,b)#列表的元素可以是列表

#对每个元素进行操作
data <- list(1:10,101:110)
data
lapply(data,max)
sapply(data,max)

#列表转向量
c <- unlist(a)

#数据框(建表)
a.name<-c(“xiaoming”,“xiaohong”)
a.id <- c(1001,1002)
a.info <- data.frame(a.name,a.id)
a.info
str(a.info)
#添加一列
a.infoKaTeX parse error: Expected 'EOF', got '#' at position 23: …(17,18) a.info #̲查询 a.info[which…age>=18),]
a.info[a.info$age>=18,]
#矩阵转数据框
mat <- matrix(1:12,nrow=3)
mat
mat.df <- as.data.frame(mat)
mat.df

#merge 根据值拼接列表
a.id.math <- c(1001,1003)
a.math.score <- c(89,90)
a.math.df <- data.frame(a.id.math,a.math.score)
a.math.df
a.info
merge(a.info,a.math.df, by.x=“a.id”,by.y=“a.id.math”)

#因子(指去重后的元素)
sex <- c(1,2)
sex
sex.f <- factor(sex)
sex.f
str(sex.f)
stu.sex <- sample(1:2,10,replace = T); stu.sex
stu.sex.f<-factor(stu.sex); stu.sex.f
stu.sex.f<- factor(stu.sex, levels = c(1,2));stu.sex.f

stu.sex.f<- factor(stu.sex,levels = c(1,2),labels = c(“T”,“F”));stu.sex.f
stu.sex.v<- as.vector(stu.sex.f);stu.sex.v

#有序因子
stu.sex.ord <- ordered(stu.sex,levels = c(1,2));stu.sex.ord
stu.sex.ord <- ordered(stu.sex,levels = c(2,1));stu.sex.ord
#cut函数(因子也可以是一个范围,breaks是因子的总数量,四个)
stu.r.score <- c(60,sample(60:100,8,replace = T),100);stu.r.score
stu.r.score.level <- cut(stu.r.score,breaks = 4);stu.r.score.level
#tapply()函数
tapply(stu.r.score,stu.sex, mean)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值