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中for循环中的列表项 我曾经在C++中工作,我认为我误解了循环(或迭代)是如何工作的。我想改变for循环中的列表项,但是for循环似乎只是临时拷贝,只会改变它?我怎样才能防止这种情况?这似乎是一个微不足道的初学者问题,但我找不到有关stackoverflow的教程/问题来解释为什么会发生这种情况_R_For Loop - Fatal编程技术网

更改R中for循环中的列表项 我曾经在C++中工作,我认为我误解了循环(或迭代)是如何工作的。我想改变for循环中的列表项,但是for循环似乎只是临时拷贝,只会改变它?我怎样才能防止这种情况?这似乎是一个微不足道的初学者问题,但我找不到有关stackoverflow的教程/问题来解释为什么会发生这种情况

更改R中for循环中的列表项 我曾经在C++中工作,我认为我误解了循环(或迭代)是如何工作的。我想改变for循环中的列表项,但是for循环似乎只是临时拷贝,只会改变它?我怎样才能防止这种情况?这似乎是一个微不足道的初学者问题,但我找不到有关stackoverflow的教程/问题来解释为什么会发生这种情况,r,for-loop,R,For Loop,代码: myListfor(myList中的项)创建一个名为item 如果要引用列表中的项目,最好使用myList[1]调用它们的位置,或者使用myList[[“a”]]调用它们的名称 您可以使用索引(如建议的注释之一)在列表中进行for循环 myList正如@nicola所说,lappy应该是一个不错的选择。下面是一个基于您的问题的示例 myList <- list(a = 1, b = 1, c = 1, d = 1) # output: 1,1,1,1 lapply(myList,

代码:

myList
for(myList中的项)
创建一个名为
item

如果要引用列表中的项目,最好使用
myList[1]
调用它们的位置,或者使用
myList[[“a”]]
调用它们的名称

您可以使用索引(如建议的注释之一)在列表中进行for循环


myList正如@nicola所说,
lappy
应该是一个不错的选择。下面是一个基于您的问题的示例

myList <- list(a = 1, b = 1, c = 1, d = 1) # output: 1,1,1,1
lapply(myList, function(x) 3) # output: 3,3,3,3
# lapply iterates over every list item

myList
myList[]你应该使用类似于
for(我在我的列表中)的东西myList[[i]]@jogo:我的问题是——为什么不呢?我可以执行
打印(项目)
并从列表中输出项目。这里的一般规则是什么,什么时候创建新对象而不是访问现有对象?@nicola:这可能行得通,我试试。有没有办法像C++那样做呢?实际上,我的变量的名称类似于
models$samples\u list$samples$predictions
,我不希望每次都键入它。。。这会造成非常长且令人困惑的行:-\n您应该使用更惯用的代码,而不应该尝试应用其他语言的逻辑。R和C++与基本上任何观点都有很大的不同。很有可能,您所需要的只需一个
lappy
或一个矢量化操作即可完成,但需要更具体地理解您所需要的。
myList <- list(a=1, b=2, c=4, d=5)
for(i in 1:length(myList)){
  myList[i] <- 3
}
myList
myList <- list(a=1, b=2, c=1, d=5)
myList=='1'
myList[myList=='1']=3
myList
myList[names(myList)=='a']=9
myList
myList <- list(a = 1, b = 1, c = 1, d = 1) # output: 1,1,1,1
lapply(myList, function(x) 3) # output: 3,3,3,3
# lapply iterates over every list item