我正面臨着R中for循環的問題。如果某個條件適用於數據元素,則需要創建一個新向量。但是,我只希望R遍歷數據集的前49列。這是迄今爲止的代碼,但R返回多個錯誤消息。使用帶if條件的for循環創建新向量
meanedu = c()
count= 0
sum = 0
###HV105.01:HV105.49 are the columns for which I want the for loop to run###
for i in ncol(HV105.01:HV105.49) i++) }
###burkina cut is the name of the dataset. I want the for loop to run for all rows###
for (j in nrow(burkinacut) j++) {
##defining a new variable age which is the position [1,1] in my dataset###
age = burkinacut[i,j]
if (age >= 25) {
##if age>=25 create a new vector adult edu which is the value 49 spaces to the right from the current data element##
adultedu= (i, j+49)
sum = sum + adultedu ###sum this vector###
count= count++
}
}
}
我將不勝感激關於如何使代碼運行的任何建議。我試圖解釋說明我希望做什麼。從我所做的研究來看,apply,lapply或mapply函數可能是最好用的,但我不明白在這種情況下如何使用它們。
首先,您for'循環的語法關閉。嘗試類似'for(我在1:49){做點什麼}' – keegan
R是一種解釋型語言,它可以運行一小段代碼來查看語法是否有效。例如,在這裏你可以運行'HV105.01:HV105.49',這個錯誤會告訴你這不是一個有效的方法來獲得一系列的列。您可以通過嘗試使用'HV105.01'來測試期間是否適用於訪問列,當這種情況不起作用時,您可能會記得使用'['代替。同樣,'2 ++'不起作用,所以'i ++'也不起作用。 – Gregor