![](/img/trans.png)
[英]How to update data from column i row 2 to column j row 1 but grouped by two variables (dplyr) in a R dataframe?
[英]R Dplyr: How do I add columns from an ungrouped dataframe to a grouped dataframe and retain the grouping?
我有一個主數據框( data
),其中包含有關購買的信息:姓名、年份、城市和其他一些變量:
Name Year City
N1 2018 NY
N2 2019 SF
N2 2018 SF
N1 2010 NY
N3 2020 AA
我使用new_data <- data %>% group by(Name) %>% tally(name = "Count")
得到這樣的結果:
Name Count
N1 2
N2 2
N3 1
我的問題,最好使用 dplyr:
1)我現在如何將與 Name 對應的城市添加到new_data
,即:
Name Count City
N1 2 NY
N2 2 SF
N3 1 AA
2)如何將每個名稱的最早年份添加到new_data,即:
Name Count City Year
N1 2 NY 2010
N2 2 SF 2018
N3 1 AA 2020
似乎summarise
可能更適合您,例如:
data %>%
group_by(Name, City) %>%
summarise(Count = n(),
Year = min(Year))
Output:
# A tibble: 3 x 4
# Groups: Name [3]
Name City Count Year
<fct> <fct> <int> <int>
1 N1 NY 2 2010
2 N2 SF 2 2018
3 N3 AA 1 2020
雖然您也可以與City
組合以將其保留在 output 中。
data.table
的選項
library(data.table)
setDT(data)[, .(Count = .N, Year = min(Year)), .(Name, City)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.