Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中显示列表中的数据而不动态更改变量名_R - Fatal编程技术网

在R中显示列表中的数据而不动态更改变量名

在R中显示列表中的数据而不动态更改变量名,r,R,我正在用R编写一些代码,用于构建数据帧列表。在运行时,它需要在单独的选项卡中显示它创建的每个数据帧。数据帧和列表都是由多个嵌套for循环创建的,沿以下行: df.list <- vector("list", length(e)) i <- 1 for (...){ data <- as.data.frame(stuff) j <- 1 for (...){ for (...){ [loop stuff] data[j,] <

我正在用R编写一些代码,用于构建数据帧列表。在运行时,它需要在单独的选项卡中显示它创建的每个数据帧。数据帧和列表都是由多个嵌套for循环创建的,沿以下行:

df.list <- vector("list", length(e))
i <- 1
for (...){
  data <- as.data.frame(stuff)
  j <- 1
  for (...){
    for (...){
      [loop stuff]
      data[j,] <- [more stuff]
    }
  }
  df.list[[i]] <- data
  i <- i + 1
}

df.list我本以为我永远不会用
eval(parse())
发布答案,但这是我唯一能想到的办法:

# sample data
df.list = list(mtcars, iris)
# name your list however you want the tabs to be named
names(df.list) = c("mtcars data", "this is iris")

for (i in seq_along(df.list)) eval(parse(text = sprintf("View(df.list[['%s']])", names(df.list)[i])))

这可能就是您所说的“动态地将变量名更改为datai,其中i是列表索引”,我同意这几乎总是错误的。在这种情况下,它也可能是目前为止最方便的方法。

我想我永远不会使用
eval(parse())
发布答案,但这是我能想到的唯一可行的方法:

# sample data
df.list = list(mtcars, iris)
# name your list however you want the tabs to be named
names(df.list) = c("mtcars data", "this is iris")

for (i in seq_along(df.list)) eval(parse(text = sprintf("View(df.list[['%s']])", names(df.list)[i])))

这可能就是您所说的“动态地将变量名更改为datai,其中i是列表索引”,我同意这几乎总是错误的。在这种情况下,这可能也是目前为止最方便的方法。

从评论中发布解决方案,以便我可以关闭:


View()函数将名称作为可选参数<代码>查看(数据,名称)
将显示
数据
,并调用选项卡
名称

从注释中发布解决方案,以便我可以关闭:


View()函数将名称作为可选参数<代码>视图(数据,名称)将显示
数据
并调用选项卡
名称

,这大致相当于我的想法,是的。你就是这样做的,这让我有点吃惊。。。我想不出任何其他的方法,不管是权宜之计还是不权宜之计。我打算暂时把这件事留着,希望有人有更好的主意。我希望有人有更好的主意!这大致相当于我的想法,是的。你就是这样做的,这让我有点吃惊。。。我想不出任何其他的方法,不管是权宜之计还是不权宜之计。我打算暂时把这件事留着,希望有人有更好的主意。我希望有人有更好的主意!
df.list
是否有“名称”?除非我遗漏了什么,否则您可以使用
来查看(名称中的nm(df.list))视图(df.list[[nm]],nm)
或者,在循环内部,访问/创建
I
名称并将其传递给
视图。不,您完全正确。不知何故,我忽略了一个事实,即您可以调用视图(数据、名称)。我认为View函数不会接受name参数。把这个写下来作为答案,我会接受的。
df.list
有“名字”吗?除非我遗漏了什么,否则您可以使用
来查看(名称中的nm(df.list))视图(df.list[[nm]],nm)
或者,在循环内部,访问/创建
I
名称并将其传递给
视图。不,您完全正确。不知何故,我忽略了一个事实,即您可以调用视图(数据、名称)。我认为View函数不会接受name参数。把这个写下来作为答案,我会接受的。