簡體   English   中英

檢查 dataframe 列是否包含十進制值

[英]Check if a dataframe column contains decimal values

樣品 Dataframe

df<- data.frame(column1=c("row1", "row2", "row3", "row4", "row5", "row6"), column2=c(1,3,4.3,5,6.5,7.8))

檢查df$column2是否包含小數。 結果應該是TRUEFALSE

嘗試這個:

round(df$column2) != df$column2

由於您無法創建內部和雙精度列,因此我們錯誤地假設如果小數部分為 0,則數字為 integer。

如果您有興趣了解該列是否包含至少一位小數,請使用

any(round(df$column2) != df$column2)

如果您有興趣了解所有列值是否都是小數,請使用

all(round(df$column2) != df$column2)

使用模運算符。

x%%1==0 將檢查模數 (x mod 1) 是否為 0

x%%1,=0 將檢查模數(x mod 1)是否不為0,這意味着它的值有小數

這將為您提供元素結果:

> df$column2%%1!=0
[1] FALSE FALSE  TRUE FALSE  TRUE  TRUE

對於整個列的聚合,調用

any(df$column2%%1!=0)

[1] TRUE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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