楼主: 耕耘使者
3087 8

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

贵宾

已卖:5006份资源

学术权威

39%

还不是VIP/贵宾

-

威望
4
论坛币
1811021 个
通用积分
171.7911
学术水平
109 点
热心指数
173 点
信用等级
87 点
经验
93428 点
帖子
4549
精华
0
在线时间
2848 小时
注册时间
2006-4-6
最后登录
2025-7-12

楼主
耕耘使者 发表于 2012-2-16 19:03:38 |AI写论文
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
拉您进交流群
GMT+8, 2026-1-3 09:35