舍入索引的小数

时间:2017-12-18 10:13:21

标签: r indexing rounding

我通过汇总5个变量创建了“政治信任”指数,所有这些变量都以1-10的等级衡量了某种形式的信任。

attach(ess_variablen)   
aggr_trst <- (1/5)*(trst_prl+trst_leg+trst_part+trst_politic+trst_polit)

但是,结果现在包含1个小数,而我想舍入数字,以便在索引号中不包含任何小数。

我无法找到解决方法来舍入索引创建的数值。有谁知道如何实现这一目标?谢谢!

2 个答案:

答案 0 :(得分:0)

当使用0作为小数位数时,round()函数可用于舍入到最接近的整数。以下示例通过对均匀随机数的数据帧中的行求和来说明这一点。

set.seed(950141237)
data <- as.data.frame(matrix(runif(20),nrow=5,ncol=4))
data
data$index <- round(rowSums(data),0) # round to 0 decimal places to obtain whole numbers
data

...和输出。

> set.seed(950141237)
> data <- as.data.frame(matrix(runif(20),nrow=5,ncol=4))
> data
      V1        V2         V3         V4
1 0.07515484 0.8874008 0.37130877 0.05977506
2 0.30097513 0.8178419 0.05203982 0.10694951
3 0.82328607 0.4182799 0.24034152 0.52173278
4 0.52849399 0.8690592 0.66814229 0.66475498
5 0.01914658 0.8322007 0.41399458 0.19649338
> data$index <- round(rowSums(data),0) # round to 0 decimal places to obtain whole numbers
> data
          V1        V2         V3         V4 index
1 0.07515484 0.8874008 0.37130877 0.05977506     1
2 0.30097513 0.8178419 0.05203982 0.10694951     1
3 0.82328607 0.4182799 0.24034152 0.52173278     2
4 0.52849399 0.8690592 0.66814229 0.66475498     3
5 0.01914658 0.8322007 0.41399458 0.19649338     1

答案 1 :(得分:-1)

编辑:似乎以前的解决方案无效,给您带来不便

您可以根据需要尝试ceiling()floor()功能

notRound <- (1/5) * (1.2+2.3+3.3)
print(notRound)
roundUp <- ceiling(notRound)
print(roundUp)
roundDown <- floor(notRound)
print(roundDown)

如果您想尝试,请直播片段 http://rextester.com/WURVZ7294