簡體   English   中英

R使用dplyr更改新行

[英]R mutate new row using dplyr

我有以下數據:

library(tidyverse)

d1 <- data_frame('Type' = "all types",
             `1991` = c(1200),
             `1992` = c(4000),
             `1993` = c(6000),
             `1994` = c(8000))

我想創建一個新行,該行是每年的計算。 計算值是-10%。 所以數據看起來像這樣

d2 <- data_frame('Type' = "all types", "summary",
             `1991` = c(1200, 1080),
             `1992` = c(4000, 3600),
             `1993` = c(6000, 5400),
             `1994` = c(8000, 7200))

現在有一個新行,其值為負10%。 如果數據是另一種形狀,我可以使用mutate輕松做到這一點。 但是,我想保留簡短格式。

謝謝

library(tidyverse)

d1 <- data_frame('Type' = "all types",
                 `1991` = c(1200),
                 `1992` = c(4000),
                 `1993` = c(6000),
                 `1994` = c(8000))

d1 %>%
  mutate_if(is.numeric, ~.*0.9) %>%
  rbind(d1) %>%
  mutate(summary = "summary")

# # A tibble: 2 x 6
#   Type      `1991` `1992` `1993` `1994` summary
#   <chr>      <dbl>  <dbl>  <dbl>  <dbl> <chr>  
# 1 all types   1080   3600   5400   7200 summary
# 2 all types   1200   4000   6000   8000 summary

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM