【问题标题】:Rounding decimals of an Index指数的四舍五入
【发布时间】:2017-12-18 10:13:21
【问题描述】:

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

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

但是,结果现在包含 1 个小数,而我想对数字进行四舍五入,以免索引数字中有任何小数。

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

【问题讨论】:

  • 能否将编程语言添加到标签中并显示值声明,以便代码可以编译。我没有看到您所说的任何舍入发生。
  • 这件事情我恐怕非常缺乏经验(对不起!)。我正在使用 R 并且值是数字,因为所有 5 个变量都从 0 到 10。因此,我的索引中的数据是 5.8、3.2 等数字。这些是我想要四舍五入的数字,5.8 会变成 6,3.2 会变成 3。

标签: r indexing rounding


【解决方案1】:

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

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

【讨论】:

  • 我不太确定我是否理解正确...runif(20) 代表什么?
  • 我使用 20 个统一随机数 runif(20) 创建了一个示例数据框,我将其转换为矩阵,然后转换为数据框。
【解决方案2】:

编辑:似乎以前的解决方案不起作用抱歉给您带来不便

您可以根据需要尝试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

【讨论】:

  • 好的,如果我的索引被称为 aggr_trst 它将是Fix(aggr_trst) 对吗?
  • 嗯,如果我使用 Fix() 会弹出一个新窗口,其中代码以 structure(c(5.8, 0.4, etc.) 开头,显示与以前完全相同的数字(带小数)...可能有一个特定的包我需要安装才能使用此命令?
  • 也许它的包相关我已经编辑了一个新的功能示例,您可以现场试用
猜你喜欢
  • 2021-03-23
  • 2015-11-12
  • 1970-01-01
  • 2023-01-12
  • 2012-08-04
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多