我有一個資料框A
和一個向量b
。
我想通過執行來消除A
索引中的任何列b
A[,-b]
有時向量b
的長度為 0。在這種情況下,我希望A
回傳整個資料幀。相反,我收到此錯誤:
具有 0 列和 1259 行的資料框
在這種情況下,我如何確保不會發生這種情況?
uj5u.com熱心網友回復:
你可以使用setdiff()
:
A[, setdiff(1:ncol(A), b)]
這個方法可以處理
b <- NA
b <- NULL
b <- integer(0)
并回傳整個資料A
。
uj5u.com熱心網友回復:
控制陳述句不起作用的任何原因?大多數時候,沒有必要讓事情過于復雜。它還使可能需要閱讀或編輯您的代碼的其他人變得簡單。
ret_a = function(A, b) {
if (length(b) == 0) {
A
} else {
A[,-b]
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/491335.html