R语言入门秘录9/25:用列数据初始化数据框

数据分析网整理自tbkken的《R语言入门25招》,一招招技能带你走进R语言。

问题

数据是按列组织的,需要将其放入一个数据框中。

解决方案

如果数据是由若干个向量或因子组成的,可以用data.frame函数将其组装成一个数据框:

代码

> dfrm <- data.frame(v1, v2, v3, f1,f2)

如果数据是包含在列表中的向量或因子,可以用as.data.frame函数:

代码

> dfrm <-as.data.frame(list.of.vectors)

讨论

数据框是由若干个列组成的,每一列对应一个观察的变量(统计意义上的变量,不是编程里面说的变量)。如果数据已经组织成了列的形式,将其组织成数据框就是很方便的事情了。

data.frame函数可以从向量构建出数据框,每个向量就是一个观察变量。假如有两个数值预测变量,一个分类预测变量和一个响应变量。data.frame函数把这些向量组织成数据框:

代码

> dfrm <- data.frame(pred1, pred2,pred3, resp)

> dfrm

pred1 pred2 pred3 resp

1 -2.7528917 -1.40784130 AM 12.57715

2 -0.3626909 0.31286963 AM 21.02418

3 -1.0416039 -0.69685664 PM 18.94694

4 1.2666820 -1.27511434 PM 18.98153

5 0.7806372 -0.27292745 AM 19.59455

6 -1.0832624 0.73383339 AM 20.71605

7 -2.0883305 0.96816822 PM 22.70062

8 -0.7063653 -0.84476203 PM 18.40691

9 -0.8394022 0.31530793 PM 21.00930

10 -0.4966884 -0.08030948 AM 19.31253

注意data.frame函数用变量的名称命名每一列数据。你也可以自己设定每一列的名称:

代码

> dfrm <- data.frame(p1=pred1,p2=pred2, p3=pred3, r=resp)

> dfrm

p1 p2 p3 r

1 -2.7528917 -1.40784130 AM 12.57715

2 -0.3626909 0.31286963 AM 21.02418

3 -1.0416039 -0.69685664 PM 18.94694

.

. (etc.)

.

另外,数据也有可能是以列表中的向量的形式,而不是独立的向量保存的,像这样:

代码

> lst <- list(p1=pred1, p2=pred2,p3=pred3, r=resp)

没问题,可以用as.data.frame函数从列表中创建数据框:

代码

> as.data.frame(lst)

p1 p2 p3 r

1 -2.7528917 -1.40784130 AM 12.57715

2 -0.3626909 0.31286963 AM 21.02418

3 -1.0416039 -0.69685664 PM 18.94694

.

. (etc.)

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(0)
小胖的头像小胖编辑
上一篇 2016-01-02 13:44
下一篇 2016-01-04 13:53

相关文章

关注我们
关注我们
分享本页
返回顶部