我已经在R中设置了一个FlexDashboard,并复制了一个在R脚本中运行没有问题的代码。然而,当我在R Markdown中运行文档时,它返回一条错误消息,称"错误:对象NA未找到"。一步一步地进行,我能够找出代码的哪一部分负责错误消息。但我不明白为什么会这样。
for (k in 1:count_dfs){
dataframe1 <- get(alldfs[k])
current_name <- alldfs[k]
dfs_list[[current_name]] <- dataframe1
}
变量包含如下信息:count_dfs: 5 lalldfs: chr[1:5](即之前从Excel中读取的所有5个数据帧的名称)
我猜应该是get函数,但我既不确定也不知道如何替换它。
你有什么想法我可以解决(或工作)这个吗?
编辑(1):
我又前进了一步。Markdown需要get函数中的名称。因此这段代码可以工作:
for (k in 1:count_dfs){
dataframe1 <- get("BNP")
current_name <- "BNP"
dfs_list[[current_name]] <- dataframe1
dataframe1 <- get("Abn Amro")
current_name <- "Abn Amro"
dfs_list[[current_name]] <- dataframe1
dataframe1 <- get("Banco Sabadell")
current_name <- "Banco Sabadell"
dfs_list[[current_name]] <- dataframe1 }
但是我怎么循环遍历所有的数据帧呢?替换"BNP"通过一个变量是行不通的。什么好主意吗?
哎呀,愚蠢的错误…
我有这行代码:
assign(paste0(current_bank),current_data,envir = .GlobalEnv)
修改为:
assign(paste0(current_bank),current_data)
it work fine.
很抱歉之前的问题不完整。