R 中增加数据集的新列的百分比变化
Percentage Change with new column for increased data set in R
我有以下数据集,其中包含不同的水果和蔬菜组合,每周他们的数量希望获得每个数据列的百分比变化。
下面已经为每一列提到了总数。
我如何从 r 中的每一列中获取百分比变化?问题是我如何每周更改百分比,因为数据将更新 WOW 所以我想自动添加一个新的而不是手动的末尾的列或每次更新数据时都会更改百分比的新数据集。
Type X22 X23 X24 X25 x26
Apple 10,000 20,000 30,000 40,000 ...
Banana 555 345 456 567 ...
Mango 123 344 456 1,189 ...
Onion 77,686 9,995 8,899 533 ...
Tomato 233 444 566 6,788 ...
Beans 123 556 4,566 777 ...
Total 88,720 31,684 44,943 49,854
期望的输出
Type X22 X23 X24 x25 x26
Apple 11.27% 63.12% 66.75% 80.23% ...
Banana 0.63% 1.09% 1.01% 1.14% ...
Mango 0.14% 1.09% 1.01% 2.38% ...
Onion 87.56% 31.55% 19.80% 1.07% ...
Tomato 0.26% 1.40% 1.26% 13.62% ...
Beans 0.14% 1.75% 10.16% 1.56% ...
Total 100.00% 100.00% 100.00% 100.00% ....
如果 df
是您的原始数据框,则应该执行以下操作(假设您所有的数字列都是 numeric
格式。
df_percentage <- cbind(df[1],
data.frame(lapply(df[2:ncol(df)],
function(x) paste0(format(round(x / x[length(x)], 2), nsmall = 2), "%"))))
我有以下数据集,其中包含不同的水果和蔬菜组合,每周他们的数量希望获得每个数据列的百分比变化。
下面已经为每一列提到了总数。
我如何从 r 中的每一列中获取百分比变化?问题是我如何每周更改百分比,因为数据将更新 WOW 所以我想自动添加一个新的而不是手动的末尾的列或每次更新数据时都会更改百分比的新数据集。
Type X22 X23 X24 X25 x26
Apple 10,000 20,000 30,000 40,000 ...
Banana 555 345 456 567 ...
Mango 123 344 456 1,189 ...
Onion 77,686 9,995 8,899 533 ...
Tomato 233 444 566 6,788 ...
Beans 123 556 4,566 777 ...
Total 88,720 31,684 44,943 49,854
期望的输出
Type X22 X23 X24 x25 x26
Apple 11.27% 63.12% 66.75% 80.23% ...
Banana 0.63% 1.09% 1.01% 1.14% ...
Mango 0.14% 1.09% 1.01% 2.38% ...
Onion 87.56% 31.55% 19.80% 1.07% ...
Tomato 0.26% 1.40% 1.26% 13.62% ...
Beans 0.14% 1.75% 10.16% 1.56% ...
Total 100.00% 100.00% 100.00% 100.00% ....
如果 df
是您的原始数据框,则应该执行以下操作(假设您所有的数字列都是 numeric
格式。
df_percentage <- cbind(df[1],
data.frame(lapply(df[2:ncol(df)],
function(x) paste0(format(round(x / x[length(x)], 2), nsmall = 2), "%"))))