首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中按名称属性获取列表的值

在R中按名称属性获取列表的值
EN

Stack Overflow用户
提问于 2012-09-24 23:52:14
回答 1查看 4.6K关注 0票数 0
代码语言:javascript
复制
contrast=list("1"="profit")
input=readline("please input")
please input1
input
[1] "1"
class(input)
[1] "character"
contrast[[input]]
[1] "profit"
contrast$"1"
[1] "profit"
contrast$input
NULL

为什么contrast$input不等于contrast$"1"

输入的值是"1",类也是字符。

代码语言:javascript
复制
eval(input)
[1] "1"
contrast$(eval(input))
Error: unexpected '(' in "contrast$("
contrast$eval(input)
Error: attempt to apply non-function
eval(paste(input))
[1] "1"
class(eval(paste(input)))
[1] "character"
contrast$eval(paste(input))
Error: attempt to apply non-function
contrast$(eval(paste(input)))
Error: unexpected '(' in "contrast$("

没有办法通过对比$输入来获得值吗?

EN

回答 1

Stack Overflow用户

发布于 2012-09-25 00:41:08

这是不可能的来自文档(?Extract):

两者都是[[和$选择列表中的单个元素。主要区别是$不允许计算索引,而[确实. x$name等于x["name",精确=FALSE]]。

一般来说,$是用于交互使用的,但用于编程(脚本、函数等)。您应该使用[[

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12574509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档