如何创建一个列或数据摘要表,其中列出了某个值的可用年数?

如何创建一个列或数据摘要表,其中列出了某个值的可用年数?

问题描述:

所以我有以下数据看起来像这样(它的样本,在一个跨度约15年的数百行)。我想创建一个列(或汇总表),显示每个位置的可用数据年限。如何创建一个列或数据摘要表,其中列出了某个值的可用年数?

Year, Place 
2000, 'Adak' 
2000, 'Kodiak' 
2000, 'Saltsdale' 
2001, 'Adak' 
2001, 'Saltsdale' 
2001, 'Tawney' 
2002, 'Adak' 
2002, 'Kodiak' 
2002, 'Tawney' 

我真的很喜欢它看起来像这样如果可能的话:

Place, Years_Available 
'Adak', 2000/2002 
'Kodiak', 2000/2002 
'Saltsdale', 2000/2001 
'Tawney', 2001/2002 

我已经summarize_all使用,但它给了我一个奇怪的输出,其中Years_Available列只是在重复第一年的15倍。

b1 <- b %>% 
    group_by(Place) %>% 
    mutate(years = toString(Year)) %>% 
    group_by(Place,years) %>% 
    summarize_all(funs(sum(!is.na(.)))) 

我们可以使用range

df1 %>% 
    group_by(Place) %>% 
    summarise(Year = toString(range(Year))) 
+0

当我将此更大的数据集,我会得到相同的范围(第一年至去年)的每一个地方,这是不准确的不幸。 –

+0

@JulietR你可以检查你的'年份'列是字符串还是数字? – akrun