Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Variables_For Loop_Save - Fatal编程技术网

从for循环生成数据帧

从for循环生成数据帧,r,variables,for-loop,save,R,Variables,For Loop,Save,在发布这篇文章之前,我想了很多次,这真的很简单,但我找不到一个方法来做到这一点,抱歉,如果这是非常基本的 我试图找到一个简单的命令来输出一个包含2列的数据帧,该数据帧的值由for循环产生,以及该循环中的变量名,下面是我使用的命令 for (i in 1:length(x)) { k <- i*5 ##### saving the values that comes out of the loop if (exists("v")== "TR

在发布这篇文章之前,我想了很多次,这真的很简单,但我找不到一个方法来做到这一点,抱歉,如果这是非常基本的

我试图找到一个简单的命令来输出一个包含2列的数据帧,该数据帧的值由for循环产生,以及该循环中的变量名,下面是我使用的命令

for (i in 1:length(x)) {

          k <- i*5

         ##### saving the values that comes out of the loop

    if (exists("v")== "TRUE" ) {
    v= append(v,k)
    }
    if (exists("v")== "FALSE"){
    v <- k
    }

         ###### adding the name of the column

      n <- names(x[i])


    if (exists("m")== "TRUE" ) {
    m= append(m,n)
    }
    if (exists("m")== "FALSE"){
    m <- n
    }
}
         ###### I manually put them into a dataframe and bind them

         v <- data.frame(v)
         m <- data.frame(m)

         df <- cbind(v,m)
我知道这是迟钝的,这个命令确实有效!!我相信有更简单的方法来写这个!我只是到目前为止找不到

这里有一个简单的可重复的例子

x矩阵
非常感谢,

在我看来,您想要做的只是:

data.frame( v = seq( from = 5 , by = 5 , length.out = length(x) ) , m = names(x) )
#   v    m
#1  5 MUYC
#2 10 KJIO
#3 15 KLGJ

但我不知道这对你的问题有多普遍。

在我看来,你想要做的似乎就是:

data.frame( v = seq( from = 5 , by = 5 , length.out = length(x) ) , m = names(x) )
#   v    m
#1  5 MUYC
#2 10 KJIO
#3 15 KLGJ

但我不知道这对你的问题有多普遍。

请编写你的代码,并在你的帖子中编辑一个实际问题。开始时x、v、m、n是什么?预填充data.frame,然后使用
[行、列]
索引将值填入其中,或者使用
*apply
系列中的内容,而不是
for
。请修复语法错误。看起来您想要的是
cbind.data.frame(v=seq_沿着(names(x))*5,m=names(x))
,这确实有点愚蠢。此外,您没有
矩阵
。这是一个
data.frame
@Error404这里是下一次的提示-一个需要10条评论和3条编辑才能勉强理解的问题不会吸引很多好的答案。专注于制作一个玩具,说明问题的症结所在,没有不必要的细节使问题更难理解(也就是说,它不必是你的实际代码,而是制作一个简单的例子)。请编写你的代码并在你的帖子中编辑一个实际问题。开始时x、v、m、n是什么?预填充你的数据。frame,然后使用
[row,column]
索引向其中填充值,或者使用
*apply
系列中的内容而不是
for
。请修复语法错误。看起来您想要的是
cbind.data.frame(v=seq_沿着(names(x))*5,m=names(x))
,这确实有点愚蠢。此外,您没有
矩阵
。这是一个
data.frame
@Error404这里是下一次的提示-一个需要10条评论和3条编辑才能勉强理解的问题不会吸引很多好的答案。专注于制作一个玩具,说明问题的症结所在,没有不必要的细节,使问题更难理解(也就是说,它不必是你的实际代码,而是制作一个简单的例子)。谢谢Simon,我可以编辑这个,以适应我的数据。干杯@Error404太棒了!很高兴它能帮上忙。谢谢西蒙,我可以编辑它来适应我的数据。干杯@Error404太棒了!很高兴这有帮助。
data.frame( v = seq( from = 5 , by = 5 , length.out = length(x) ) , m = names(x) )
#   v    m
#1  5 MUYC
#2 10 KJIO
#3 15 KLGJ