以下是数据示例,
Month Year Tornado Location
January 1998 3 Illinois
February 1998 2 Illinois
March 1998 5 Illinois
January 1998 1 Florida
January 2010 3 Illinois
这就是我想要的样子,
Date Tornado
1998-01 4
1998-02 2
1998-03 5
2010-01 3
因此,我想将“年”和“月”合并到一个新的列中。位置无关紧要,我想知道1998年1月等的龙卷风总数。 我有以下代码,但不知道如何更改它以合并我想要的两个变量,或者这是否甚至是我尝试执行的正确代码。
mydata$Date <- format(as.Date(mydata$month), "%m-%Y")
实际数据集太大,无法手动修复。我基本上是试图将这些数据转换为时间序列数据。
答案 0 :(得分:0)
您需要先进行一些数据转换,然后再应用How to sum a variable by group
aggregate(Tornado~Date, transform(df, Date = format(as.Date(paste(Month,Year,"01"),
"%B %Y %d"), "%Y-%m")), sum)
# Date Tornado
#1 1998-01 4
#2 1998-02 2
#3 1998-03 5
#4 2010-01 3
数据
df <- structure(list(Month = structure(c(2L, 1L, 3L, 2L, 2L),
.Label = c("February", "January", "March"), class = "factor"),
Year = c(1998L, 1998L,1998L, 1998L, 2010L),
Tornado = c(3L, 2L, 5L, 1L, 3L), Location = structure(c(2L,
2L, 2L, 1L, 2L), .Label = c("Florida", "Illinois"), class = "factor")),
class = "data.frame", row.names = c(NA, -5L))
答案 1 :(得分:0)
首先,我将Month和Year合并为一个名为Date的变量,将适当的格式与zoo软件包一起使用,然后按Date将结果分组。
output
答案 2 :(得分:0)
如果一天没关系,您可以这样做:
2.00