1、R的简单语法:
数据集:
观测 变量
记录 字段
示例 属性
名义变量
有序变量
连续变量
数据结构:
向量--只能同一类型的数据
标量---一个数据,常用来存一个常数
数组--维度可以大于2
数据框---可以包含多种类型的数据,最常用的数据结构
矩阵--只能同一类型数据
列表---上面的任何一种结构的数据都可以放入列表中。
2、经常用的R命令:
help()
getwd()
setwd()
install.packages()
q()
c()
source()
library()
plot()
head()
tail()
sapply()
apply()
aggregate()
table()
summary()
cbind()
rbind()
set.seed()
psate()
row.names()
names()
sort()#返回排序的数值序列
order()#返回排序后原数据的下标号
sample()
常用的抽样形式:
#把数据按比例分为两部分,一部分全为1表示,一部分用2表示
ind=sample(2,nrow(data),replace=FALSE,prob=c(0.7,0.3))
train<-data[ind==1,]
test<-data[ind==2,]
#从1~总数据行中抽取30行
ind<-sample(1:nrow(data),30)
train<-data[ind,]
test<-data[-ind,]
3、一个简单的处理案例
#构建一个数据框
Student<-c('John Davis','Anglea Williams','Bullwinkle Moose','David Jones','Janice Markhammer','Cheryl Cushing','Reuven Ytzrhak','Greg Knox','Joel England','Mary Rayburn')
Math<-c(502,600,412,358,495,512,410,625,573,522)
Science<-c(95,99,80,82,75,85,80,95,89,86)
English<-c(25,22,18,15,20,28,15,30,27,18)
roster<-data.frame(Student,Math,Science,English,stringsAsFactors = FALSE)
#对指定列进行归一化
z<-scale(roster[,2:4])
#对每一行求平均值
score<-apply(z,1,mean)
#把平均值加到数据框后
roster<-cbind(roster,score)
#找到4个分位点
y<-quantile(score,c(0.8,0.6,0.4,0.2))
#扩展一个评分的字段
roster$grade[score>=y[1]]<-"A"
roster$grade[score<y[1]&score>=y[2]]<-"B"
roster$grade[score<y[2]&score>=y[3]]<-"C"
roster$grade[score<y[3]&score>=y[4]]<-"D"
roster$grade[score<y[4]]<-"E"
#把名字的姓、名分开---注意函数直接用在一个向量上
name<-strsplit(roster$Student," ")
#获取部分的函数"["
lastname<-sapply(name,"[",2)
firstname<-sapply(name,"[",1)
#注意如何去掉一列
roster<-cbind(firstname,lastname,roster[,-1])
#按姓氏排序
roster<-roster[order(lastname,firstname),]
本文介绍了R语言的基本语法,包括数据集和数据结构的概念,如向量、矩阵、数据框和列表。同时,列举了常用R命令,如help(), install.packages(), plot()等。此外,通过一个实际案例展示了如何处理数据,包括数据框的构建、归一化、求平均值、四分位数分析和评分分配。最后,讲解了如何使用strsplit()函数将姓名拆分成姓和名,并按姓氏排序数据框。"
128259554,7783893,LINGO在交通流均衡中的应用,"['算法', '交通工程', '数学模型', '网络优化', '交通流量']

2万+

被折叠的 条评论
为什么被折叠?



