簡體   English   中英

閾值在數據框中按行排列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM