楼主: 醉生梦
11556 11

[问答] R中get使用 [推广有奖]

  • 1关注
  • 18粉丝

已卖:32份资源

教授

33%

还不是VIP/贵宾

-

威望
0
论坛币
949 个
通用积分
1.0615
学术水平
8 点
热心指数
10 点
信用等级
3 点
经验
59228 点
帖子
954
精华
0
在线时间
1594 小时
注册时间
2010-12-23
最后登录
2019-6-14

楼主
醉生梦 发表于 2014-6-19 19:59:15 |AI写论文
20论坛币
求助:
如果data<-data.frame(x,y,z)
get("data")可以获得data的值,但是如何用get获得data中x的值呢?
get("data $ x")不可以
这个题的主要目的是在data这个数据框中有很多变量时如x1,x2 ...x1000(实际中不是这么规则的),
怎么根据变量名构成的数组,
如t<-c("x4","x100","x200")(如果变量名不规则,在不搜索的前提下,当然不知道到底是在第几列),
如何通过类似于get(past("data$",t,sep="")) (这个语句不对)的语句获得对应的变量?


谢谢大家~


下面已经有了一种解决方案,如果有人有其他方法,大家还可以继续讨论啊~


最佳答案

yywan0913 查看完整内容

我觉得这样不就可以了?为什么要用get
关键词:Get Data

本帖被以下文库推荐

自助者天助之

沙发
yywan0913 在职认证  发表于 2014-6-19 19:59:16
  1. d=data.frame(x1=1:5,x2=2:6,x3=3:7,x5=4:8)

  2. t=c("x1","x3","x5")
  3. d[,t]
复制代码


我觉得这样不就可以了?为什么要用get
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
醉生梦 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

藤椅
yywan0913 在职认证  发表于 2014-6-19 21:20:42
传递吧。。   x=data$x

get("x")
已有 1 人评分热心指数 收起 理由
醉生梦 + 5 热心帮助其他会员

总评分: 热心指数 + 5   查看全部评分

板凳
醉生梦 发表于 2014-6-19 21:36:30
yywan0913 发表于 2014-6-19 21:20
传递吧。。   x=data$x

get("x")
貌似不可以啊

报纸
gssdzc 在职认证  发表于 2014-6-19 21:44:30
给顶起来
已有 1 人评分热心指数 收起 理由
醉生梦 + 5 热心帮助其他会员

总评分: 热心指数 + 5   查看全部评分

地板
yywan0913 在职认证  发表于 2014-6-19 21:47:29
  1. data=data.frame(x1=1:3,x2=2:4,x3=3:5,x5=4:6)
  2. x1=data$x1;
  3. x2=data$x2;
  4. x5=data$x5
  5. get("x1");get("x5")

  6. get("data")$x1;
  7. get("data")$x2
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
醉生梦 + 5 + 5 + 5 热心帮助其他会员

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

7
醉生梦 发表于 2014-6-19 22:24:31
yywan0913 发表于 2014-6-19 21:47
这个确实可以取出x1这些,但是如果x1,x2,x5这些变量有很多个,并且每次都不是确定的,都用一个字符向量给出来,那这样就很麻烦了

8
醉生梦 发表于 2014-6-19 23:35:39
yywan0913 发表于 2014-6-19 22:40
我觉得这样不就可以了?为什么要用get
是的,确实这样可以解决问题了

9
yywan0913 在职认证  发表于 2014-6-20 08:47:33
醉生梦 发表于 2014-6-19 23:35
是的,确实这样可以解决问题了
  1. d=data.frame(x1=1:5,x2=2:6,x3=3:7,x5=4:8)
  2. t=c("x1","x3","x5")
  3. with(d,mget(t))
复制代码

get不支持向量形式输入,可以选择mget   with相当于attach,但比attach好。

另外,你指出的变量名规则,不知道在第几列的问题,  可以用match(t,colnames(d))  l
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
jmpamao + 1 + 1 + 1 观点有启发
醉生梦 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 6  热心指数 + 6  信用等级 + 6   查看全部评分

10
醉生梦 发表于 2014-6-20 09:09:17
yywan0913 发表于 2014-6-20 08:47
get不支持向量形式输入,可以选择mget   with相当于attach,但比attach好。

另外,你指出的变量名规 ...
是的是的,这个结果更好,更具有推广性
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 鼓励积极发帖讨论

总评分: 论坛币 + 10   查看全部评分

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

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