ed_error 是一個包含兩列的資料框。我想逐行遍歷所有行,并在我創建的變數中加 1,前提是第一列中值的字串名稱等于“general”且第二列的整數值等于 1。

這就是資料的樣子。
編碼:
general_list <- 0
for (row in 1:nrow(ed_error)) {
if (ed_error[row, 1] == "general") && (ed_error[row, 2] == 1) {
general_list <- general_list 1 }
}
錯誤:
Error in parse(text = x, srcfile = src):
5: for (row in 1:nrow(ed_error)) {
6: if (ed_error[row, 1] == "general") &&
^
uj5u.com熱心網友回復:
在 R 中,大多數事情不需要顯式for回圈。這種比較可以以向量化的方式完成,并用于sum計算滿足條件的次數。
general_list <- sum(ed_error$education == "general" & ed_error$error == 1)
如果NA資料中有值,您可以na.rm = TRUE在sum.
uj5u.com熱心網友回復:
在)對if前結束&&
if (ed_error[row, 1] == "general")
IE
> if('a' == 'b') && ('c' == 'd')
Error: unexpected '&&' in "if('a' == 'b') &&"
相反,它會是
general_list <- 0
for (row in 1:nrow(ed_error)) {
if(ed_error[[1]][row] == "general" && ed_error[[2]][row] == 1) {
general_list <- general_list 1
}
}
我們也可以使用矢量化選項
general_list <- nrow(subset(ed_error, education %in% 'general' & error %in% 1))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/334573.html
上一篇:當我嘗試縮放變數時的一些問題
