我正在嘗試創建一個新列,它是我的 df 中的其他 2 列之間的計算,如果是值,則為一列,如果我希望出現在新列中的第一列的百分比,則為另一列。用我的資料解釋起來應該更容易一些;
df
Country_Name gdp_per_capita Agriculture_GDP%
1 Albania 3281. 20.6
2 Algeria 3515. 9.86
3 Bosnia and Herzegovina 3828. 8.21
4 Croatia 11285. 3.90
5 Cyprus 24686. 2.60
所以我想創建一個新列,這里阿爾巴尼亞的值為 3281 的 20.6%,即 675.8
我曾嘗試將第一列除以第二列,但它給了我一些錯誤的結果;
df$gdp_per_capita_agg_percen = df$gdp_per_capita/bar_df$Agriculture_GDP%
uj5u.com熱心網友回復:
這將是
df$gdp_per_capita_agg_percen <- with(df, gdp_per_capita*
`Agriculture_GDP%`/100)
-輸出
> df
Country_Name gdp_per_capita Agriculture_GDP% gdp_per_capita_agg_percen
1 Albania 3281 20.60 675.8860
2 Algeria 3515 9.86 346.5790
3 Bosnia and Herzegovina 3828 8.21 314.2788
4 Croatia 11285 3.90 440.1150
5 Cyprus 24686 2.60 641.8360
資料
df <- structure(list(Country_Name = c("Albania", "Algeria", "Bosnia and Herzegovina",
"Croatia", "Cyprus"), gdp_per_capita = c(3281, 3515, 3828, 11285,
24686), `Agriculture_GDP%` = c(20.6, 9.86, 8.21, 3.9, 2.6)),
class = "data.frame", row.names = c("1",
"2", "3", "4", "5"))
uj5u.com熱心網友回復:
要獲得正確的計算,您需要執行以下操作:
df$gdp_per_capita_agg_percen <- df$gdp_per_capita * df$Agriculture_GDP% / 100`
問題是要從百分比中獲得總值,您需要乘以而不是除以。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525504.html
標籤:r