首页 > 解决方案 > 需要使用名称自动生成的值

问题描述

我正在使用

assign( paste("ship", b, sep = ""),c())

作为一个向量,我想保存矩阵中某些元素的坐标。

现在我想使用向量,例如第一个向量名为ship1,我想向该向量添加元素,但我不能使用 append 和 paste("ship", b, sep = "") 因为我收到这个错误

Error in paste("barco", b, sep = "") <- append(paste("barco", b, sep = ""),  : 
target of assignment expands to non-language object

我的问题是:我如何在不使用特定 ship1 的情况下使用我的向量,从而能够使用通用方法来填充所有其他“ship b”向量

标签: r

解决方案


你需要get.

b = 1
VName = paste("ship", b, sep = "")
assign(VName,c())
assign(VName, append(get(VName), 1:3))
get(VName)
[1] 1 2 3

但请参阅@MauritsEvers 关于使用的评论assign


推荐阅读