簡體   English   中英

在 R 中創建一個新列

[英]Create a new columns in R

我正在對意大利的一些地區進行分析。 我有一個類似於以下的數據集:

mydata <- data.frame(date= c(2020,2021,2020,2021,2020,2021),
                 Region= c('Sicilia','Sicilia','Sardegna','Sardegna','Campania','Campania'),
                 Number=c(20,30,50,70,90,69) )

現在我必須創建兩個新列。 第一個(稱為“總人口”)包含每個區域的固定數字(例如,西西里島的每一行將有一個“總人口”= 250)。 第二列包含“數字”列的值與“總人口”的相應值之間的百分比(例如,對於西西里島,該值將是 20/250 等等)。 我希望我能很好地解釋自己,非常感謝

可能像這樣:



mydata %<>% group_by( Region ) %>%
    mutate(
        `Total Population` = sum(Number),
        `Ratio of Total` = sprintf( "%.1f%%",100 * Number / sum(Number)) )


mydata 現在是:

> mydata
# A tibble: 6 x 5
# Groups:   Region [3]
   date Region   Number `Total Population` `Ratio of Total`
  <dbl> <chr>     <dbl>              <dbl> <chr>           
1  2020 Sicilia      20                 50 40.0%           
2  2021 Sicilia      30                 50 60.0%           
3  2020 Sardegna     50                120 41.7%           
4  2021 Sardegna     70                120 58.3%           
5  2020 Campania     90                159 56.6%           
6  2021 Campania     69                159 43.4%         

暫無
暫無

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

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