[英]Treshold values row-wise in a dataframe
考慮一個示例數據幀:
A B C v
5 4 2 3
7 1 3 5
1 2 1 1
如果元素大於或等於v
,我想將一行的所有元素設置為1,否則設置為0。 示例數據幀將導致以下結果:
A B C v
1 1 0 3
1 0 0 5
1 1 1 1
我如何有效地做到這一點? 列的數量會更多,我想要一個不需要我單獨指定列名稱的解決方案,而是將其應用於所有列( v
除外)。
我的for循環解決方案太慢了。
我們可以創建一個邏輯矩陣並強制轉換為二進制
df1[-4] <- +(df1[-4] >= df1$v)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.