我有一個看起來像這樣的向量:
vector <- c(3.1, 5.3, 5.5)
我想填寫缺失的數字,結果是:
1.0, 2.0, 3.1, 4.0, 5.1, 5.2, 5.3, 5.4, 5.5
或者
1.0, 2.0, 3.0, 3.1, 4.0, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5
那怎么辦呢?
uj5u.com熱心網友回復:
library(purrr)
vector <- c(3.1, 5.3, 5.5)
vector %>%
# add floating point numbers
# e.g. 3.3 -> c(3.0, 3.1, 3.2, 3.3)
keep(~ .x %% 1 != 0) %>%
map(~ {
a <- as.integer(.x)
b <- (.x %% 1) * 10 - 1
a (seq(0, b) / 10)
}) %>%
simplify() %>%
# add original values
c(vector) %>%
c(
# add integers
vector %>% as.integer() %>% max() %>% seq()
) %>%
# tidy up
sort() %>%
unique()
#> [1] 1.0 2.0 3.0 3.1 4.0 5.0 5.1 5.2 5.3 5.4 5.5
由reprex 包(v2.0.1)于 2021 年 12 月 8 日創建
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/376488.html
標籤:r
