Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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
R循环中的自动增量变量名_R_Variables - Fatal编程技术网

R循环中的自动增量变量名

R循环中的自动增量变量名,r,variables,R,Variables,我试图创建一个函数,它会自动创建名为x1,x2,…,xn的n个变量。我有一种方法,它只能通过控制台工作,而不能在函数中工作(runif创建一个1000个介于-1和1之间的数字数组,应该将其分配给变量): 当我在函数中使用它时,环境中不会创建任何变量… 我试着做这样的东西: for(i in 1:n) { sprintf("x%d",i) <- runif(1000,min=-1,max=1)) } for(1:n中的i){ sprintf(“x%d”,i)您确定要创建不同的变量吗?

我试图创建一个函数,它会自动创建名为x1,x2,…,xn的n个变量。我有一种方法,它只能通过控制台工作,而不能在函数中工作(runif创建一个1000个介于-1和1之间的数字数组,应该将其分配给变量):

当我在函数中使用它时,环境中不会创建任何变量… 我试着做这样的东西:

for(i in 1:n) {
   sprintf("x%d",i) <- runif(1000,min=-1,max=1))
}
for(1:n中的i){

sprintf(“x%d”,i)您确定要创建不同的变量吗?
R
方法是创建一个
矩阵
数据框
并使用它。如果这确实是您需要的1000个变量,则给出:


i我认为第一个示例确实创建了变量。您是否使用
ls()
检查过您的环境?这里有一个答案:您只需要指定环境。但是它附带了很多注释,上面说“不要在家里这样做”。有什么原因不能让函数返回列表或向量吗?我建议阅读我的答案,我会提供一些关于为什么这不好的信息。只需使用列表,让生活变得简单。在这种情况下如何使用列表:
xlist=replicate(n,runif(1000,min=-1,max=1),simplify=FALSE)
。然后使用
x[[1]]
x[[5]]
,等等。谢谢所有有用的评论!我将开始使用列表和矩阵。@phoxis我使用RStudio,所以我总是在特定的框架中看到环境。非常感谢,我不知道使用矩阵的可能性(我是R-noob:))…我有一个赋值,我必须创建1000个变量的100个级数,并将它们相加以创建正态分布…只是在RStudio中以函数的方式进行了检查…在环境中也没有得到矩阵。也许我必须添加
envir
参数?您必须分配函数的结果。尝试
m thx,无idea为什么我没有得到这个:)只需要放一个简单的返回(…)然后直接赋值!
for(i in 1:n) {
   sprintf("x%d",i) <- runif(1000,min=-1,max=1))
}