R语言运行命名列表提取元素报unexpected '$'错误如何解决
错误原因
- 报错核心是语法逻辑错误:
- 第一行代码仅临时生成了一个命名列表,没有把这个列表赋值给任何变量,R跑完这行只会把列表打印到控制台,之后就会直接清除这个临时对象,没有留下可供后续代码操作的实体。
- 第二行单独写的
$Chicago是无效代码。$是R用来从对象中提取命名元素的操作符,前面必须指定要操作的对象,不能单独使用,R解析到孤立的$符号时就会抛出你看到的语法错误。
- 额外说明:你代码里写的
$Chicago本来是R打印命名列表时的输出前缀,不是可执行代码,入门阶段很容易误把控制台返回的输出内容当成代码复制运行,才会触发这类报错。
正确实现方法
两种写法都能拿到Chicago对应的数值1:
- 常规写法(推荐):先把列表存到变量里,再提取元素,后续还能重复调用这个列表
# 赋值存储列表 city_list <- list('Chicago' = 1, 'New York' = 2, 'Los Angeles' = 3) # 提取对应元素 city_list$Chicago
运行后会直接返回结果1。
- 临时调用写法:如果不需要留存这个列表,可以在创建的同时直接提取,注意给列表创建语句加括号保证运算顺序:
(list('Chicago' = 1, 'New York' = 2, 'Los Angeles' = 3))$Chicago
内容的提问来源于stack exchange,提问作者Olamide Olumide
相关产品推荐
相关产品推荐

