targets包中列表形式target命名报错问题咨询
targets包处理列表的常见问题解答
报错原因:
raw_data$data不是合法的target名称。target的name参数要求是合法的R符号,不能包含$这类用于元素访问的语法,这和是否支持列表无关。targets完全支持列表数据,正确用法如下:
- 先定义返回列表的target:
只要tar_target(name = raw_data, command = get_data(file))get_data()函数返回列表,raw_data这个target就会存储列表对象。 - 访问列表元素:
- 如果需要把列表元素作为单独的target,直接在新target的command里访问:
tar_target(name = data_subset, command = raw_data$data) - 如果只是在后续任务中使用列表元素,直接在对应target的command里调用即可:
tar_target(name = processed_data, command = process_function(raw_data$data))
- 如果需要把列表元素作为单独的target,直接在新target的command里访问:
- 先定义返回列表的target:
内容的提问来源于stack exchange,提问作者Basil
相关产品推荐
相关产品推荐

