我創建了一個「信任政治」指數 - 聚合5個變量,所有這些變量都測量了從1-10開始的某種形式的信任。索引小數位的舍入
attach(ess_variablen)
aggr_trst <- (1/5)*(trst_prl+trst_leg+trst_part+trst_politic+trst_polit)
然而,結果現在包含1個小數,而我想圓的數量,以免在索引號的任何小數。
我一直無法找到解決方法,以便對由索引創建的數值進行舍入。有誰知道如何實現這一目標?謝謝!
我創建了一個「信任政治」指數 - 聚合5個變量,所有這些變量都測量了從1-10開始的某種形式的信任。索引小數位的舍入
attach(ess_variablen)
aggr_trst <- (1/5)*(trst_prl+trst_leg+trst_part+trst_politic+trst_polit)
然而,結果現在包含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
好吧,如果我的索引被稱爲aggr_trst,它將是 'Fix(aggr_trst)' 對不對? – Cantablu
是的,它應該是 – CharybdeBE
嗯,如果我使用'Fix()'彈出一個新的窗口,代碼以'structure(c(5.8,0.4等)')顯示與以前完全相同的數字(帶小數)開頭。 .. 是否有可能需要安裝一個特定的軟件包才能使用此命令? – Cantablu
當使用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
我不太確定我明白這一點right ... runif(20)代表什麼? – Cantablu
我使用20個統一的隨機數runif(20)創建了一個樣本數據框,我將它轉換爲矩陣,然後轉換爲數據框。 –
您可以將編程語言添加到變量並顯示值聲明,以便代碼可以編譯。我沒有看到你正在談論的任何四捨五入的事情。 –
恐怕我在這件事上很缺乏經驗(對不起!)。我使用R,值是數字,因爲所有5個變量都是從0到10。因此,我的索引中的數據是5.8,3.2等數字。這些是我想要舍入的數字,5.8會變成6,3.2會變成3. – Cantablu