簡體   English   中英

為什么在R中循環使用兩個變量(下面給出代碼)?

[英]Why using two variables in loop in R (code given below)?

我正在看R中的DIGRE模型代碼,有一個循環如下:

idx <- 1
for (i in 1:length(drugName)) {
if (drugName[i] != "Neg_control") {
  cat(idx, ". ", drugName[i], "\n", sep = "")
  idx <- idx + 1
}

我的問題是為循環和計數器使用單獨的變量(i和idx)的特殊原因。 僅使用一個變量,此循環就無法正常工作。 我是R的新手,因此很好奇。

僅當drugName不是"Neg_control" ,變量idx才會遞增。 所以i索引了drugName所有觀察值,而idx則對“出現次數”進行計數。 我猜取決於數據的外觀和函數的目標是什么,而無需使用循環即可完成。

這個怎么樣?

controlTF = drugName != "Neg_control"

idx <- sum(controlTF)

paste0(1:idx, ". ", drugName[controlTF])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM