R语言初识

声明:由于是自学的R语言,部分的基础知识写的有些杂乱。但是这都是R的基础操作,个人认为,重点还是在画图,这些都是对数据的分析操作
首先说RStudo导入包的方式
安装好R和RStudo后我们在画图的过程中会需要很多其他的包,那么我们就要去下载导入。

install.packages("包名")
引用包
library(包名)

x <- vector("character",length=10)
#创建一个1到10的数组
x1 <- 1:10
x2 <- c("z","x","v","f")
x3 <- c(1,2,3,5)

#给X3这个链表命名

names(x3)

x3
#class查看x3的数据类型

class(x3)

#matrix创建矩阵,后面的参数是几维,3行2列

[java]
x <- matrix(nrow=3,ncol=2)
#给矩阵赋值,按照列填充
x <- matrix(1:6,nrow=3,ncol=2)
[/java]

#dim().查看矩阵的维度,attributes()查看矩阵的属性

dim(x)
attributes(x)


#创建一个矩阵y,和x的矩阵同维度,实现矩阵的拼接

y <- 1:6
#给y创建一个维度,实现矩阵
dim(y) <- c(2,3)
#实现列拼接,行拼接
y3 <- rbind(y,x)
y4 <-cbind(y,x)


#创建2维数组

a1 <- array(1:24,dim=c(2,4))
#3维数组
a2 <- array(1:24,dim=c(2,3,4))


#创建一个list,包含多种类型的参数类型

l <- list("a",TRUE,2L,1+2i,2)



#创建数据因子 factor

f <- factor(c("男","女","女","男","女","女"))
#排列方式levels
f1 <- factor(c("男","女","女","男","女","女"),levels = c("男","女"))
#查看根据因子f,以table的形式
table(f)
#去掉f的属性
unclass(f)


#NA包含空值的情况is.na(),是空值返回TRUE

n <- c(1,NA,3,4,NA)
is.na(n)


#data Frame 数据框

df <- data.frame(科目=c("语文","数学","英语"),score=c(99,78,98))
#data.fram 将数据转换为dataFrame的类型
df1 <- data.frame(id=c(1,2,3,4),score=c(85,548,74,58))
df1
#转换为矩阵
df2 <- data.matrix(df1)
class(df2)


#当前时间

d1 <- date()
d1
d2 <- Sys.Date()
d3 <- as.Date("2015-02-01")
weekdays(d3)
months(d3)
#季节
quarters(d3)
#距离17好几年的天数
julian(d3)
#time
t1<-Sys.time()
p <- as.POSIXlt(t1)
names(unclass(p))
p$sec
p$hour


#数据的获取

x <- 1:10
x[1]
x[x<3 | x>4]
x[x<7 &x>5]
m <- matrix(1:6,2,3)
#获取m中第一行第二列的数据
m[1,2]
#获取第一行所有列的数据
m[1,]a
#包含列名显示,drop=TRUE就是不显示列名
m[1,,drop=FALSE]
#创建一个数据集第一列V1,第二列v2 ....,v1,v2,v3代表这一列的名字
df <- data.frame(v1=c(2,5,8,9,6),v2=6:10,v3=11:15)
# $后面加上名字,即可获取当前列的数据
df
#将V1中的第一个赋值为空
df$v1[1] <- NA
df[(df$v2<9 & df$v3>11),]
df[which(df$v1<6),]
#移除大于8的数据
subset(df,df$v2>=8)
#空值的处理
x <- c(1,NA,5,4,NA)
#显示x中不为空值的元素
x[!is.na(x)]
x <- c(1,NA,5,4,NA)
y <- c(1,3,NA,NA,6)
#判断两个链表里面都不为空的值为TRUE
z <- complete.cases(x,y)
#当数据太多时,查看数据的前6行
head(airquality)
#查看里面是否存在为空的数据
g <- complete.cases(airquality)
#去除空的数据
airquality[g,]
#对应相加,数据的处理
x <- 1:5
y <- 6:10
x+y
x*y
#矩阵的数据处理
x <- matrix(1:4,2,2)
y <- matrix(5:8,2,2)
#对应位置相乘
x*y
#矩阵的方式相乘
x %*% y
#随机生成100个平均值为5,方差为0.1的数
x <- rnorm(100,mean = 5,sd=0.1)
#计算平均值
mean(x)
sd(x)
#链表的操作
l <- list(1:10,c(1,4,6,3,2))
names(l) <- c("a","b")
#计算l的平均值
lapply(l, mean)
#lapply数据统计
x <- 1:4
lapply(x,runif)
#runif产生均匀分布随机数
lapply(x, runif,min=0,max=100)
x <- list(a=matrix(1:6,2,3),b=matrix(6:11,2,3))
lapply(x, function(t) t[1,])
#sapply,简化lapply的数据结果
sapply(l, mean)
x <- matrix(1:10,2,5)
apply(x, 2, sum)
#mapply函数mapply是函数sapply的变形版,mapply 将函数 FUN 依次应用每一个参数的第一个元素、第二个元素、第三个元素上,rep重复数据
x <- list(rep(1,4),rep(2,3))
x <- mapply(rep,1:4,4:1)
air <- split(airquality,airquality$Month)
table(airquality$Day)
sapply(air, function(x) colMeans(x[,c("Ozone","Wind")],na.rm = TRUE))


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值