学习R语言第六天

文章目录

绘制图形的方式

计算字符的数量的方式

nchar(“abc”)

提取字符变量的方式

substr(“sdfd”,1,2)

根据名称查询前缀的方式

grep(3,c(1,“sdf”,“sdf”,3,“4”),fixed = TRUE)

转化大小写的方式

大写

toupper(“sdf”)

小写的

tolower(“SDF”)

获取数据长度的方式

length(12)

生成一个序列的方式

从1开始到10,每次增加2

seq(1,10,2)

从1到3 重复2次

rep(1:3,2)

将函数到数据框中的方式

a <- 5
sqrt(a)

生成数据

rnorm 生成30行数据,nrow是6列数据

mydata <- matrix(rnorm(30),nrow = 6)

mydata

计算每行的平均值的

apply(mydata,1,mean)

计算每列的平均值

apply(mydata,2,mean)

计算每个行的结尾均值

apply(mydata,2,mean,trim=0.2)

数据处理的方式

统计每个学生的前20%到成绩进行A-b的方式进行排名的方式

options(digits = 2)
Student <- c(“j”,“fs”,“sf”,“sf”)

数学

Math <- c(20,30,40,40)

科学

Science <- c(4,95,94,29)

英语

English <- c(34,5,3,13)

成绩

roster <- data.frame(
Student,
Math,
Science,
English,
stringsAsFactors = FALSE
)

roster

计算综合得分

后去2行到4行的数据 计算标准差

z <- scale(roster[,2:4])
z

计算每列平均值

score <- apply(z,1,mean)
score

cbind 数据进行合并

roster <- cbind(roster,score)
roster

对学生进行评分的方式

计算学生的百分比

注意使用百分比需要先计算均值

score 输入的向量的方式

输出对应的百分比的方式

y <- quantile(score,c(.8,.6,.4,.2))
y

学生进行评分的方式

roster g r a d e r [ s c o r e > = y [ 1 ] ] < − " A " r o s t e r grader[score >= y[1]] <- "A" roster grader[score>=y[1]]<"A"rostergrader[score < y[1] & score >= y[2] ] <- “B”
rosterKaTeX parse error: Expected 'EOF', got '&' at position 21: …r[score < y[2] &̲ score >= y[3] …grader[score < y[3] & score >= y[4] ] <- “D”
roster$grader[ score >= y[4] ] <- “F”

截取这个数据的方式

name <- strsplit((roster$grader)," ")

name

Lastname <- sapply(name,“[”,2)
Lastname
Firstname <- sapply(name,“[”,1)

roster <- cbind(Firstname,Lastname,roster[,-1])

roster

安装名字的方式进行排序

roster[order(Lastname,Firstname)]

控制流的方式

for (i in 1:10) print(“Hello”)

条件执行方式

x <- 10

if (1>x) print(“成功”) else print(“的”)

cars <- mtcars[1:5,1:4]
cars

t(cars)

options(digits = 3)
attach(mtcars)
mtcars

group1是汽缸数量 group2是档位数量 mpg 是均值

aggdata <- aggregate(mtcars,by=list(cyl,gear),FUN = mean,na.rm=TRUE)

aggdata

数据进行融合的方式

library(reshape2)

ID <- c(1,1,2,2)
Time <- c(1,2,1,2)
X1 <- c(5,3,6,2)
X2 <- c(6,5,1,4)

mydata <- data.frame(
ID,
Time,
X1,
X2
)

mydata

数据进行合并的方式

md <- melt(mydata,id=c(“ID”,“Time”))

md

library(“vcd”)
library(“grid”)

count <- table(Arthritis$Improved)
count

绘制直方图的方式

xlab 代表x ylab 代表y count 代表数据

barplot(count,
main = “simp ba”,
xlab = “Impo”,
ylab = “Fre”)

水平直方图 horiz = TRUE

barplot(count,
main = “simp ba”,
xlab = “Impo”,
ylab = “Fre”,
horiz = TRUE)

counts <- table(Arthritis I m p r o v e d , A r t h r i t i s Improved,Arthritis Improved,ArthritisTreatment)
counts

绘制条形图的方式

legend=rownames(counts) 图形添加标签的方式

col = c(“red”,“yellow”,“green”), 中添加颜色的方式

barplot(
counts,
main=“sf”,
xlab = “tsdf”,
ylab = “sdf”,
col = c(“red”,“yellow”,“green”),
legend=rownames(counts)
)

分组条形的方式 beside = TRUE

barplot(
counts,
main=“sf”,
xlab = “tsdf”,
ylab = “sdf”,
col = c(“red”,“yellow”,“green”),
legend=rownames(counts),
beside = TRUE
)

states <- data.frame(
state.region,
state.x77
)

states

计算均值

means <- aggregate(states$Illiteracy,by=list(state.region),FUN=mean)

means

means <- means[order(means$x),]
means

绘制条形图的方式

barplot(means x , n a m e s . a r g = m e a n s x,names.arg = means x,names.arg=meansGroup.1)
title(“fsd”)

条形图增加标签

增加y边界大小

par(mar=c(5,8,4,2))

旋转条形的标签

cex.names = 0.8 减小字体的方式

par(las=2)
barplot(
counts,
main=“sfs”,
horiz = TRUE,
cex.names = 0.8,
names.arg = c(“nosf”,“fs”,“fs”)
)

棘状图的方式

library(vcd)
counts <- table(Treatment,Improved)
spine(counts,main = “Sping gro Ex”)
detach(Arthritis)

饼状图的方式

par(mfrow=c(2,2))
slices <- c(10,12,4,16,8)
lbls <- c(“Us”,“UK”,“sf”,“fsd”,“fsqq”)

slices 代表数据量的方式 labeles 标签名称的方式

pie(slices,labels = lbls,
main = “fsd”)

饼状图添加比例值

pct <- round(slices/sum(slices)*100)
lbls2 <- paste(lbls," “,pct,”%",sep = “”)

col=rainbow(length(lbls2)) 添加比例值的方式

pie(slices,
labels = lbls2,
col=rainbow(length(lbls2)),
main = “sdfds”)

install.packages(“plotrix”)
library(plotrix)

绘制3d的图形的方式

pie3D(slices,
labels = lbls,
explode = 0.1,
main=“fs”)

mytable <- table(state.region)

lbls3 <- paste(names(mytable),“\n”,mytable,sep = “”)
lbls3
pie(mytable,labels = lbls3,
main = “fs”)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值