Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.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
在单独的数据帧中保存for循环的输出_R_For Loop - Fatal编程技术网

在单独的数据帧中保存for循环的输出

在单独的数据帧中保存for循环的输出,r,for-loop,R,For Loop,我有一个简单的问题,尽管有很多类似的帖子,我还是没能解决,因为我在R里有点笨,我没有得到我应该得到的东西。我有两套文件 All.Files <- objects(pattern="constant.country[0-9]{4}") all.files <- objects(pattern="constant[0-9]{4}") All.Filesfor(所有.Files中的i){ a这就是你正在使用的代码吗?如果是的话,你在GRI.group之后有一个额外的引号。有趣的是,这是我

我有一个简单的问题,尽管有很多类似的帖子,我还是没能解决,因为我在R里有点笨,我没有得到我应该得到的东西。我有两套文件

All.Files <- objects(pattern="constant.country[0-9]{4}")
all.files <- objects(pattern="constant[0-9]{4}")
All.Files
for(所有.Files中的i){

a这就是你正在使用的代码吗?如果是的话,你在
GRI.group
之后有一个额外的引号。有趣的是,这是我唯一更改的代码行。我去掉了一些列标题以简化它,并在这样做时弄乱了引号。所以,不,在运行它时没有不正确的引号的问题。我没有任何错误;我的问题是,我只使用了get迭代43作为df输出。您是否有一个问题,即您要提取的j的子字符串总是相同的?只需再看一看您的代码。您的括号是混乱的。它们在什么意义上是混乱的?谢谢!您所做的工作是有效的。我花了几分钟才弄清楚为什么让括号括住j for循环会导致问题lem,但我现在明白了。谢谢你回答了这么一个简单的问题——教我在所有新代码构造中使用的s/东西。没问题。很乐意帮忙,特别是因为你的问题组织得很好。请注意,你创建的变量只依赖于
j
!我认为你的代码不会输出你想要的东西!老鼠。你是对的。回到绘图板。在原始代码中,它只给了我第43次迭代,但它是正确的输出。现在我得到了所有43次输出,它们都是错误的。一次一步,嗯?让你
newname
变量依赖于
I
中的标识符。这将使它们唯一。即使我在newname中使用I,它仍然是唯一的y在每次合并中使用j的最后一次迭代(但它使用i[1:43])。
mergefun <- function(X1, Y1) {
    merge(X1, Y1, by = "id")
} 
for (i in All.Files) {
    a <- get(i)
      { for (j in all.files)
         b <- get(j)
         d <- dataframe(mergefun(a, b))
         newname <- paste("C", substr(j, 9, 12), sep="")
         names(d) <- c("Id", "Country", "logGDP", "GRI", GRI.group", "Year")
         assign(newname,d)

       }  
    }
for (i in All.Files) {
a <- get(i)
   for (j in all.files) {
     b <- get(j)
     d <- dataframe(mergefun(a, b))
     newname <- paste("C", substr(j, 9, 12), sep="")
     names(d) <- c("Id", "Country", "logGDP", "GRI", "GRI.group", "Year")
     assign(newname,d)

   }  
}