0

我不知道我尝试做的是否可行!我有一个值矩阵(Var_sim),并将其转换为 ff 对象。该对象的名称是用“粘贴”创建的。现在我想在函数 ffload 中使用这个对象,这是我的代码:

Variables[k] = TEMP
Cell_number[i] = 4095
selected_domains = 1

assign(paste("Mat_",Variables[k],"_",Cell_number[i],"_",selected_domains[j],sep=""),as.ff(Var_sim))

在这里,我将变量 Mat_TEMP_4085_1 作为 ff 对象。我在一个循环中使用它,所以我将有各种具有不同名称(不同 cell_number)的 ff 对象。我需要在函数中使用 Mat_TEMP_4085_1 (和其他),但我不能只写名称:

ffsave(as.name(paste("Mat_",Variables[k],"_",Cell_number[i],"_",selected_domains[j],sep="")), file="Test")

我有以下错误:

Error in ffsave(as.name(paste("Mat_", Variables[k], "_", Cell_number[i],  : 
objet ‘as.name(paste("Mat_", Variables[k], "_", Cell_number[i], "_",     selected_domains[j], sep = ""))’ not found

它不识别变量。我能怎么做?

4

1 回答 1

0

看起来你使用不as.name正确。as.character如果您想从变量 use 的字符串名称中获取变量值,只需将其删除或环绕它get@Spacedman是对的,如果可以的话,你应该更喜欢名单。

tt = "rbind"
print(do.call(tt,list(LETTERS))) # works
print(do.call(as.name(tt),list(LETTERS))) # does not work
print(do.call(as.character(as.name(tt)),list(LETTERS))) # works
print(do.call(get("tt"),list(LETTERS))) # works
于 2014-01-16T11:05:29.020 回答