楼主: lanyajia
2889 2

[学习分享] 数据表中的变量访问方法 [推广有奖]

  • 0关注
  • 4粉丝

硕士生

70%

还不是VIP/贵宾

-

威望
0
论坛币
1873 个
通用积分
3.0206
学术水平
9 点
热心指数
13 点
信用等级
0 点
经验
1900 点
帖子
99
精华
0
在线时间
288 小时
注册时间
2009-1-11
最后登录
2025-12-26

楼主
lanyajia 发表于 2012-8-5 09:57:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近使用R处理数据表,涉及访问data.frame中变量的问题,现总结一些相关方法,提出共享参考。

比如: 一个含11个变量的数据框da
  z01 z02 z03
1 367 161  84
2 320 130  74
3 547 228 112
4 450 215  95
5 446 185  99
6 417 206  98
7 396 183  92
8 430 186 102

访问da中第一个变量z01, 有几种可能的方法                                 
(1)用 双中括号+变量名加引号 访问 ,即da[[“z01”]],将得到一个类型为向量的访问结果,这种方式较正规,可以实现“宏替换”方式访问,如下所示
> da[['z01']]
[1] 367 320 547 450 446 417 396 430

实现“宏替换”访问如下
> aa='z01'
> da[[aa]]
[1] 367 320 547 450 446 417 396 430

方法1的变形是da[[1]],但不能实现“宏替换”。

(2)用 $+变量名 访问,即da$z01。变量名不加引号,访问结果与(1)相同,即得到一个向量。这种方式简便明了,但不能宏替换。
> da$z01
[1] 367 320 547 450 446 417 396 430

(3)用 单引号+双下标 访问,即da[,1],得到与(1)相同的结果。

> da[,1]
[1] 367 320 547 450 446 417 396 430

(4)用 单引号+单下标 访问,即da[1],得了z01这个分量,与前面几种访问方式不同的是,这种访问方式得到的数据类型为data.frame。这种方式的变形是da[‘z01’],得到相同的结果。
> da[1]
  z01
1 367
2 320
3 547
4 450
5 446
6 417
7 396
8 430

在上面几种方法的基础上还可以组合出其它方法,结合attach()还可以使访问更方便。我的使用习惯是,编程中常使用方式1,因为它为动态访问数据框中的变量提供了方便,交互环境中常用方式2。上面的变量访问方式也同样适用于列表类型。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据表 attach Frame Fram Data 数据表

已有 1 人评分论坛币 热心指数 收起 理由
qoiqpwqr + 20 + 1 鼓励积极发帖讨论

总评分: 论坛币 + 20  热心指数 + 1   查看全部评分

沙发
trier2006 发表于 2012-8-5 12:43:42
谢谢分享
最好的医生是自己,最好的药物是时间……

藤椅
chris1998 发表于 2013-10-9 19:03:06
非常感谢分享~

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 07:01