【问题标题】:Need to use a value which name is generated automatically需要使用名称自动生成的值
【发布时间】:2018-11-03 12:58:38
【问题描述】:

我正在使用

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


【解决方案1】:

你需要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 的评论

【讨论】:

  • 您可能想使用 paste0(),因为它更快。
  • 感谢您的帮助,但我认为我没有做对。我的问题是,我不知道如何使用通用形式来使用我想要的向量,而该向量仅基于其名称的 b
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
  • 2017-09-24
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
  • 2011-10-14
相关资源
最近更新 更多