我有一個包含連續數值和二進制變量B的變量A.我想創建一個新變量A1,它包含與A相同的值,如果B = 1且缺失值( NA)如果B = 2。 非常感謝!將變量重新編碼爲R中的兩個新變量
0
A
回答
3
您可以使用ifelse()
爲:
a1 <- ifelse(B == 1, A, NA)
1
您可以使用ifelse
這個:
A = runif(100)
B = sample(c(0,1), 100, replace = TRUE)
B1 = ifelse(B == 1, A, NA)
你甚至可以離開了== 1
爲R解釋0
爲FALSE
和任何其他數量TRUE
:
B1 = ifelse(B, A, NA)
儘管== 1
更靈活,並且更清楚發生了什麼。所以我會選擇第一種方法。
1
這裏有一個簡單而有效的方法沒有ifelse
:
A <- 1:10
# [1] 1 2 3 4 5 6 7 8 9 10
B <- rep(1:2, 5)
# [1] 1 2 1 2 1 2 1 2 1 2
A1 <- A * NA^(B - 1)
# [1] 1 NA 3 NA 5 NA 7 NA 9 NA
相關問題
- 1. 將兩個變量重新編碼爲一個新變量
- 2. R:將2個變量重新編碼爲1內部函數
- 3. [R重新編碼變量 - 意外INCOMPLETE_STRING
- 4. 重新編碼多響應變量爲一箇中的R
- 5. SPSS將變量數據從多個變量重新編碼爲布爾變量
- 6. 將非互斥變量重新編碼爲互斥變量
- 7. 熊貓將數字變量重新編碼爲分類變量
- 8. SQL查詢:將新值重新編碼爲新變量
- 9. 重新編碼R中的幾個類似變量
- 10. 重新編碼多個變量
- 11. 如何在R中摺疊/重新編碼一個變量
- 12. 在R中使用tidyverse重新編碼多個變量
- 13. 將多個列重新編碼爲單個變量
- 14. R:重新編碼跨多個對象的變量
- 15. 在列表中重新編碼變量
- 16. 重新編碼變量的for循環中的R
- 17. 使用NAs重新編碼變量,並在R中使用ifelse()
- 18. 在R中使用NAs重新編碼變量
- 19. R中的對 - 重新排序變量
- 20. 重新編碼分類變量/因素
- 21. 重新編碼多列進單變量
- 22. 重新編碼數值變量
- 23. 重新編碼列數值變量
- 24. R:使用從一個變量的值作爲新的變量
- 25. R將因子轉換爲新變量
- 26. 重新編碼,並添加前綴到變量變量
- 27. R:兩個變量
- 28. xsl:將兩個變量連接成新的變量
- 29. 重新編碼變量複製到多個新值
- 30. 調用方法,將變量重命名爲新的變量
請您可以顯示一些例如數據和結果? –
Folks - 讓新用戶對SO(即-1)保持溫柔。即使缺乏先前嘗試的證據,這個問題也很清楚。 –
除了'ifelse',我想你也可以通過'B',即'A [B == 2] < - NA'來索引'A'。 –