如何在 R 資料框的一列中檢查前一個值和當前值之間的差是否為 1?
要檢查 R 資料框一列中前一個值和當前值之間的差是否為 1,我們可以按照以下步驟操作:
- 首先,建立一個數據框。
- 然後,為前一個值和當前值之間的差建立一個自定義函式。
- 現在,使用該函式檢查差值。
示例 1
建立資料框
讓我們建立一個如下所示的資料框:
> x<-1:20 > df1<-data.frame(x) > df1
執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):
x 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20
建立自定義函式以檢查差值
使用 abs 函式和 diff 函式建立一個新函式,以檢查 R 資料框列中的所有值彼此之間是否都相差 1:
> is.one<-function(x){
+ all(abs(diff(x))==1)
+ }檢查差值
使用 is.one 函式檢查 df1 中列 x 的當前值和前一個值之間是否存在 1 的差值:
> x<-1:20 > df1<-data.frame(x) > is.one(df1$x)
輸出
[1] TRUE
示例 2
建立資料框
讓我們建立一個如下所示的資料框:
> y<-sample(1:20,20) > df2<-data.frame(y) > df2
執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):
y 1 14 2 4 3 3 4 5 5 19 6 15 7 8 8 12 9 17 10 20 11 18 12 6 13 2 14 16 15 10 16 13 17 1 18 7 19 11 20 9
檢查差值
使用 is.one 函式檢查 df2 中列 y 的當前值和前一個值之間是否存在 1 的差值:
> y<-sample(1:20,20) > df2<-data.frame(y) > is.one(df2$y)
輸出
[1] FALSE
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP