我有一个如下的数字系列。我需要将负数(低于0的数字)设为零,将其他数字舍入为两位数。
有人可以帮我在R中这样做吗?
输出:
21.31 22.0 0 8.71 -25.27 1.63 0 144.23 0 0 21.9558290 57.2186577 214.2688719 57.9806240 0 0 21.7744036 50.7217715 0 131.4853834
提前致谢。
pred_cty1
1 2 3 4 5 6 7
21.3147237 22.0741859 -1.5040034 8.7155408 -25.2777258 1.6331518 -1.5303588
8 9 10 11 12 13 14
144.2318083 -13.1278888 -19.6253222 21.9558290 57.2186577 214.2688719 57.9806240
15 16 17 18 19 20
-7.7710546 -35.6169525 21.7744036 50.7217715 -0.4616455 131.4853834
> str(pred_cty1)
Named num [1:20] 21.31 22.07 -1.5 8.72 -25.28 ...
- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
答案 0 :(得分:1)
这些是非常基本的功能和方法,所以我建议研究subsetting的概念并检查?round
。仅供参考,pred_cty1
是矢量类型对象。 '系列'并没有真正帮助回答你的问题,因为有很多数据类型可以存储它们。
在阅读了子集和round
之后,请查看这个简单的解决方案:
pred_cty1 <- round(pred_cty1, digits = 2)
pred_cty1[pred_cty1 < 0] <- 0