如何用r语言进行数据分类

Python016

如何用r语言进行数据分类,第1张

首先,原始数据是由name(名字),class(班级),course(课程)和score(分数)组成的,将其导入R语言并存储在Mydata对象里

接下来,我们利用sqldf包来处理分组汇总的问题。

由于sqldf包不是R语言自带的,所以先用以下代码安装sqldf包:

install.packages("sqldf")

然后选择“China(Beijing)”镜像站点进行安装,R语言会同时自动安装“sqldf”包的依赖包。

安装好sqldf包及其依赖包后,输入以下代码加载sqldf包:

library(sqldf)

一切准备就绪,接下来用sqldf统计每个同学的总成绩和平均分:

sqldf("select name,sum(score) as score_sum,avg(score) as score_avg from Mydata group by name")

统计每个班级的总成绩:

sqldf("select class,sum(score) as score_sum from Mydata group by class")

统计每个班级的每门课程的总成绩和平均分:

sqldf("select class,course,sum(score) as score_sum,avg(score) as score_avg from Mydata group by class,course")

1.导入数据

install.packages('xslx')

library(xlsx)

Sys.setlocale("LC_ALL", "zh_cn.utf-8")

a=read.xlsx2('d:/1.xlsx',1,header=F)

2.计算平均值

数据集a中有变量:因变量y,自变量x

install.packages('Rmisc')

library(Rmisc)

单因素:求y的平均值,以x为分类变量

a1=summarySE(a,measurevar='y', groupvars=c('x'))

双因素:求y的平均值,以x1和x2为分类变量

a1=summarySE(a,measurevar='y', groupvars=c('x1','x2'))

如果是简单数据,数据集a中有变量:只有因变量y,没有自变量x。求y的平均值代码如下:

mean(a$y)

先把A、B的列宽设置好,用格式刷把其它列也刷一下,如果你的一页可以打印47行(是其它的数,就把公式里的47改一下)

在C1里写公式:

=INDIRECT(CHAR(65+MOD(COLUMN(B1),2))&(ROW(A1)+INT(COLUMN(B1)/2)*47))

按住C1的填充柄将公式右拖复制,再按住填充柄下拖复制。

选定打印区域,打印。

函数说明:

CHAR(65+MOD(COLUMN(B1),2)) 生成字符串 "A" 或 "B"(偶数列为"A"奇数列为"B")。

(ROW(A1)+INT(COLUMN(B1)/2)*47 生成相应的行号。

INDIRECT() 生成字符串的引用。