Надеюсь, это поможет.Сначала я проверю каждый столбец, используя lapply
, чтобы проверить, какие элементы равны себе после округления (это целые числа).Затем я суммирую результат построчно, используя Reduce
.Если вывод Reduce
равен числу столбцов в этом df
, это означает, что все значения были целыми числами:
dt <- read.table(text = "bedrooms bathrooms sqft_living
3 1 1180
3 2.25 2570
2 1 770
4 3 1960
3 2 1680
4 4.5 5420
3 2.25 1715
3 1.5 1060
3 1 1780
3 2.5 1890", header = TRUE)
idxs <- Reduce("+", lapply(dt, function(x) round(x) == x)) == ncol(dt)
dt[idxs,]
# bedrooms bathrooms sqft_living
# 1 3 1 1180
# 3 2 1 770
# 4 4 3 1960
# 5 3 2 1680
# 9 3 1 1780