楼主: 耕耘使者
2819 8

[问答] 自己导入的数据集,做图时变量能否不用前缀“数据集$"? [推广有奖]

贵宾

学术权威

39%

还不是VIP/贵宾

-

威望
4
论坛币
1812817 个
通用积分
148.0401
学术水平
109 点
热心指数
173 点
信用等级
87 点
经验
93394 点
帖子
4550
精华
0
在线时间
2845 小时
注册时间
2006-4-6
最后登录
2024-2-24

100论坛币
plot作图时,如果是自己导入(如read.table)的数据集,则变量要这样写:数据集名$变量
但如果是R软件自带的数据集,则直接写变量名就可以,不需要数据集名$作前缀。
有没有办法让自己导入的数据与软件自带数据集有同等的待遇?

最佳答案

kk22boy 查看完整内容

在内存中现在的x是那个数据框,而不是变量x,所以如果直接hist(x)的话,实际上是对数据框进行hist,所以会出错另外还有个问题是,attach命令好像不能覆盖全局变量,所以刚才你那个数据集名字如果是x的话,直接attach(x)释放出来的变量x不能覆盖数据集x
关键词:数据集 Table plot ABLE READ 软件
沙发
kk22boy 发表于 2012-2-16 19:03:39 |只看作者 |坛友微信交流群
耕耘使者 发表于 2012-2-16 19:12
我没太看明白。比方说,上一个数据集:
数据见:https://bbs.pinggu.org/forum.php?mod=viewthread&tid ...
在内存中现在的x是那个数据框,而不是变量x,所以如果直接hist(x)的话,实际上是对数据框进行hist,所以会出错另外还有个问题是,attach命令好像不能覆盖全局变量,所以刚才你那个数据集名字如果是x的话,直接attach(x)释放出来的变量x不能覆盖数据集x



已有 1 人评分学术水平 热心指数 收起 理由
耕耘使者 + 2 + 2 热心帮助其他会员

总评分: 学术水平 + 2  热心指数 + 2   查看全部评分

如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

使用道具

藤椅
kk22boy 发表于 2012-2-16 19:06:46 |只看作者 |坛友微信交流群
data=data.frame(x1=1:5,x2=2:6,x3=3:7)
attach(data)
x1;x2;x3
如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

使用道具

板凳
kk22boy 发表于 2012-2-16 19:07:37 |只看作者 |坛友微信交流群
在使用该数据集之前,attach一下就可以直接使用里边的变量名字,不用加$号了
如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

使用道具

报纸
耕耘使者 发表于 2012-2-16 19:12:59 |只看作者 |坛友微信交流群
kk22boy 发表于 2012-2-16 19:06
data=data.frame(x1=1:5,x2=2:6,x3=3:7)
attach(data)
x1;x2;x3
我没太看明白。比方说,上一个数据集:
数据见:https://bbs.pinggu.org/forum.php?mod=viewthread&tid=1350020&page=1&extra=#pid11857636pid11857636
x=read.table("E:\\statsoft\\R\\x.txt",header=T)
hist(x$x)
而不能直接hist(x)。有没有不需要“数据集名$”这个前缀的办法?

使用道具

地板
kk22boy 发表于 2012-2-16 19:14:28 |只看作者 |坛友微信交流群
耕耘使者 发表于 2012-2-16 19:12
我没太看明白。比方说,上一个数据集:
数据见:https://bbs.pinggu.org/forum.php?mod=viewthread&tid ...
用之前先
attach(x)
即可
如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

使用道具

7
kk22boy 发表于 2012-2-16 19:15:32 |只看作者 |坛友微信交流群
attach命令 有点类似把数据集中的变量释放出来的意思
如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

使用道具

8
耕耘使者 发表于 2012-2-16 19:15:53 |只看作者 |坛友微信交流群
kk22boy 发表于 2012-2-16 19:07
在使用该数据集之前,attach一下就可以直接使用里边的变量名字,不用加$号了
我尝试了,还是不行:
> attach(x)
The following object(s) are masked _by_ '.GlobalEnv':
    x
> hist(x)
错误于hist.default(x) : 'x'必需为数值
>

使用道具

9
耕耘使者 发表于 2012-2-16 19:19:58 |只看作者 |坛友微信交流群
kk22boy 发表于 2012-2-16 19:03
在内存中现在的x是那个数据框,而不是变量x,所以如果直接hist(x)的话,实际上是对数据框进行hist,所以会 ...
再次感谢R的高人

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 14:43