对于R中的循环,只迭代最后一个条目

时间:2018-03-03 18:32:20

标签: r for-loop

我想重复一个有300个大约241次的列向量并将它连接起来。数据可在此链接中下载。  https://1drv.ms/u/s!AiZLoqatH-p7rD0og-RufSi6fljB

我尝试了以下代码。

read.csv("stack_overflow.csv")
fund_name = d[,1] 
fund_name_panel=c() 
    for (i in 1:300{x1=rep(fund_name[i], 241)  fund_name_Panel=append(x1,fund_name_panel)}
  
    

结果:遗憾的是,我的代码只重复了最后一行数据。我怎样才能重复300个而不是最后一个呢?     任何提示都表示赞赏。

  

1 个答案:

答案 0 :(得分:0)

您的代码不是很清楚,我从未见过有人按照您的方式执行for循环。但是,根据您对问题的描述,您在第一次学习for循环时犯了一个非常简单的错误。首先,因为你要创建一个新变量(fund_name_panel),你需要创建一个空向量,你将在for循环中使用向量的长度。

fund_name_panel <- numeric(length(fund_name))

如果fund_name是data.frame而不是vector,则使用nrow()而不是length()。

其次,您需要在现在的新向量(fund_name_panel)和您在for循环中引用的向量(fund_name)中指定行(i),请参阅下面的代码。

fund_name_panel <- numeric(length(fund_name))

for(i in 1:length(fund_name)){
x[i]=y[i]
}