fread我从包中读取了数据框的一列data.table。向量中大约一半的数字具有双精度,而另一半仅具有整数精度。
head(data$value)
#[1] 3 1.2 3.1 1 1.0 5
Run Code Online (Sandbox Code Playgroud)
我想按精度将向量分成两个,但是当我使用该typeof函数时,所有值都以双精度形式返回,因此我无法使用它来区分两者。
输出将产生两个独立的向量,例如:
single <- c(3,1,5)
double <- c(1.2,3.1,1.0)
Run Code Online (Sandbox Code Playgroud)
假设你的向量是x,你可以分割四舍五入时与原始值相同的值,即
x <- c(3, 1.2, 3.1, 1, 1.0, 5)
split(x, round(x) == x)
$`FALSE`
[1] 1.2 3.1
$`TRUE`
[1] 3 1 1 5
Run Code Online (Sandbox Code Playgroud)