I have a vector:
我有一个矢量:
x <- c(0.0, 0.5, 1.000, 1.5, 1.6, 1.7, 1.75, 2.0, 2.4, 2.5, 3.0, 74.0)
How can I extract only the values of x
which contain nonzero values after the decimal place? For example, the resultant vector would look like this:
如何仅提取小数位后包含非零值的x值?例如,结果向量将如下所示:
c(0.5, 1.5, 1.6, 1.7, 1.75, 2.4, 2.5)
Which has removed 0.0
, 1.000
, 2.0
, 3.0
, and 74.0
.
其中删除了0.0,1.000,2.0,3.0和74.0。
2 个解决方案
#1
8
We can construct a logical index with round
我们可以用round构造一个逻辑索引
x[round(x) != x]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
#2
8
alternatively
或者
x[x %% 1 != 0]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
or
要么
x[trunc(x) != x]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
or
要么
x[as.integer(x) != x]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
or ( now I stop!)
或者(现在我停下来!)
x[grepl("\\.[^0]+$",x)]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
:D
:d
#1
8
We can construct a logical index with round
我们可以用round构造一个逻辑索引
x[round(x) != x]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
#2
8
alternatively
或者
x[x %% 1 != 0]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
or
要么
x[trunc(x) != x]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
or
要么
x[as.integer(x) != x]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
or ( now I stop!)
或者(现在我停下来!)
x[grepl("\\.[^0]+$",x)]
#[1] 0.50 1.50 1.60 1.70 1.75 2.40 2.50
:D
:d