大神帮忙:R语言for循环写出到Excel为何只有最后一个记录?实例代码如下:

Python012

大神帮忙:R语言for循环写出到Excel为何只有最后一个记录?实例代码如下:,第1张

首先有个概念,循环中的变量是i,每次循环之后都会更新i的值,直到循环结束。循环中i的取值范围在1:5。

循环中,每次循环都打印出i的结果。

循环结束后,i不再更新,打印i输出的就是i最后一次的取值,并且一直都是这个值,除非你再次给i赋值。

第二个问题,我不知到是不是这个意思,你需要保存每一步循环中得到的结果,最后在循环结束之后全部把它们输出出来。

我就按我理解的这个意思写一下。

t<-array()

for(i in 1:5) t[i]<-i

a<-list(t)a

希望对你有帮助。

本文分析利用IBM离职员工数据进行分析。在对离职率的影响因素进行观察的基础至上,建立模型并预测哪些员工更易离职。

一般而言,数据分析分为三个步骤:数据收集与清洗、探索性分析和建模预测。本文的数据集是IBM用于研究员工预测的 模拟数据 ,数据十分完整,无需清洗。因此,本文主要分为三个部分:

通过对IBM离职员工数据实践,本文希望发掘出影响员工流失的因素,并对利用R语言进行数据分析过程进行复习,深化对数据分析工作意义的理解。

IBM离职员工数据集共有35个变量,1470个观测个案。部分需要重点关注的变量如下:

上述变量可以分为三个部分:

载入分析包和数据集

通过描述性统计可以初步观测到:

分析结果:

基于对数据的探索性分析,员工离职有多方面因素的影响,主要有:

1.工作与生活的不平衡——加班、离家远和出差等;

2.工作投入如果不能获得相匹配的回报,员工更倾向离职;

3.优先股认购等福利是员工较为关注的回报形式;

4.年龄、任职过的公司数量的因素也会影响员工离职率;

删除需要的变量:EmployeeCount, EmployeeNumber, Over18, StandardHours

变量重新编码:JobRole, EducationFiled

分析结果表明:

随机森林所得的AUC值为0.5612,小于决策树模型。

GBM模型得到的AUC值为0.5915

对于对于随机森林和GBM的方法,AUC值小于单一决策树模型的AUC值的情况较少见,这显然说明单一的树拟合得更好或者更稳定的情况。(一般需要得到AUC值大于0.75的模型)

当结果分类变量之间的比列是1:10或者更高的时候,通常需要考虑优化模型。本例中,离职变量的比列是1:5左右,但仍然可能是合理的,因为在决策树中看到的主要问题是预测那些实际离开的人(敏感度)。

加权旨在降低少数群体中的错误,这里是离职群体。

向上采样(up-sampling)指从多数类中随机删除实例。

向下采样(down-sampling)指从少数类中复制实例。

分析结果表明:

加权调整的模型表现最好,相比较于单纯的随机森林和GBM模型,AUC值从0.5612上升至0.7803,灵敏度也达到了0.7276。据此,后续将采用加权调整后的模型进行预测。

已经训练出一个表现较好的模型。将其应用于实践时,需要注意以下几个方面:

可以观察到影响员工流失的前5个因素是:

因此,在实践中就需要注意:

本例中对工作投入高、收入低的员工进行预测。

本例分析仍有需要足够完善的地方,还可以往更多更有意义的地方探索:

除了Rweibo包还有Rtwitter包,我记得好像google+也有对应的一个接口包。否则就只用Rcurl RJson自己做爬虫获取数据。

可视化刚才有人提到了ggplot2,作者现在搞的ggvis我觉得也是很炫酷的,可以做交互式的图了