在我的資料中,我有 6 列帶有值。一些參與者有 NA,而另一些參與者則有一些價值觀。現在我想為每個參與者計算 1,如果他們在那里有一個值,如果他們什么都沒有,那么為 0,所以一個 NA,在那里。列中有哪些值并不重要,只要有值即可。我該怎么做?使用 ifelse 函式可以實作嗎?
例如
2 4 6 8 10 12 -> 1
NA NA NA NA NA NA -> 0
1 3 5 7 9 11 -> 1
uj5u.com熱心網友回復:
df <- data.frame(matrix(data=rep.int(c(1, 2, NA), 12), ncol=6))
df$test_not_na <- apply(df, 1, FUN=function(x){as.integer(!any(is.na(x)))})
df
# X1 X2 X3 X4 X5 X6 test_not_na
# 1 1 1 1 1 1 1 1
# 2 2 2 2 2 2 2 1
# 3 NA NA NA NA NA NA 0
# 4 1 1 1 1 1 1 1
# 5 2 2 2 2 2 2 1
# 6 NA NA NA NA NA NA 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/341300.html
標籤:r
上一篇:為列中的每個組創建線性回歸模型
下一篇:如何在我的所有資料上處理R腳本
