如何在 R 資料框列中用下一個位置的第一個非零值替換零?
為了用資料框列中下一個位置的第一個非零值替換零,我們可以按照以下步驟操作:
- 首先,建立一個數據框。
- 然後,使用 zoo 包中的 na.locf 函式將資料框列中零替換為下一個位置的第一個非零值。
建立資料框
讓我們建立一個如下所示的資料框:
> x<-sample(0:5,20,replace=TRUE) > df<-data.frame(x) > df
執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出會因您的系統而異):
x 1 5 2 4 3 2 4 2 5 5 6 4 7 1 8 1 9 5 10 4 11 2 12 4 13 0 14 2 15 3 16 1 17 0 18 2 19 3 20 4
用下一個位置的第一個非零值替換零
使用 zoo 包的 na.locf 函式在 df 的 x 列中用下一個位置的第一個非零值替換零:
> library(zoo) > df$x<-na.locf(with(df,ifelse(x==0,NA_real_,x)),fromLast=TRUE) > df
輸出
x 1 5 2 4 3 2 4 2 5 5 6 4 7 1 8 1 9 5 10 4 11 2 12 4 13 2 14 2 15 3 16 1 17 2 18 2 19 3 20 4
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP