正确使用for循环

正确使用for循环,r,loops,for-loop,R,Loops,For Loop,我以前从未使用过for循环,我想将其用于我的数据。然而,我仍然不知道如何正确使用它。谁能告诉我如何正确使用for循环 For item 1 to 9 the results I wanted to get real<lower=0>l1_0+l1_11 real<lower=0>l2_0+l2_11 real<lower=0>l3_0+l3_11 .. real<lower=0>l9_0+l9_11 For item 10 to 18 r

我以前从未使用过for循环,我想将其用于我的数据。然而,我仍然不知道如何正确使用它。谁能告诉我如何正确使用for循环

 For item 1 to 9 
 the results I wanted to get
real<lower=0>l1_0+l1_11
real<lower=0>l2_0+l2_11
real<lower=0>l3_0+l3_11
 ..
real<lower=0>l9_0+l9_11

For item 10 to 18
real<lower=0>l10_0+l10_12
real<lower=0>l11_0+l11_12
real<lower=0>l12_0+l12_12
..  
real<lower=18>l18_0+l18_12


  What I tried to do..
  for(i in 1:9){
  i=l[i]"_0"+l[i]"_11"
  print(paste("real<lower=0>",i))
  }

  for (i in 1:9){
  i<-paste('l',i,'_0',sep='')
  print(paste("real<lower=0>",i)
  }
第1项至第9项的

我想要得到的结果
实1_0+1_11
reall2_0+l2_11
reall3_0+l3_11
..
实9_0+l9_11
关于项目10至18
实10_0+l10_12
实11_0+l11_12
实12_0+l12_12
..  
reall18_0+l18_12
我想做的。。
(我在1:9中){
i=l[i]“\u 0”+l[i]“\u 11”
打印(粘贴(“真实”,i))
}
(我在1:9中){

我假设你没有编程背景,只是想知道如何使用for循环。我已经创建了一个非常简单的数据帧,并将做一些简单的事情。 我想要得到数据框中每一行的总和(幸运的是,我们还有apply族来简单地实现这一点)

仅打印每行总和的示例

for(i in 1:nrow(df)){
  print(df$x[i]+df$y[i])
}
这是经常被到处解释的部分(我不明白为什么?也许我只是使用了错误的搜索术语/关键字?)。幸运的是,这里有一个关于堆栈交换的好例子,它向我展示了如何进行。因此,积分归其他人所有。然而,这一部分相当简单,但对于没有建模、R或任何编程背景的人来说,弄清楚这一点可能是一件痛苦的事情。要创建for循环并存储结果,您需要创建一个对象它可以存储循环的数据

这里是一个将结果存储在数据帧中的简单循环

loopdf <- as.data.frame(matrix(ncol = 1, nrow = 0))
for(i in 1:nrow(df)){
  loopdf[i,] <- df$x[i]+df$y[i]
}
loopdf

如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,这会更容易帮助您。我不确定您所写的是代码或字符串值。
paste
是矢量化的,所以您可能不需要循环。
paste0(“reall”,1:18,“\u 0+l”,1:18,\u 1”,nchar(1:18))
for(i in 1:nrow(df)){
  print(df$x[i]+df$y[i])
}
loopdf <- as.data.frame(matrix(ncol = 1, nrow = 0))
for(i in 1:nrow(df)){
  loopdf[i,] <- df$x[i]+df$y[i]
}
loopdf
looplist <- list()
for(i in 1:nrow(df)){
  looplist[[i]] <- df$x[i]+df$y[i]
}
do.call(rbind, looplist)
loopvec <- NULL
for(i in 1:nrow(df)){
  loopvec <- c(loopvec, df$x[i]+df$y[i])
}

loopvec
apply(df, 1, sum)
apply(df, 1, function(x), sum(x))