我正在使用R,我需要设置一个循环(我认为),我从日期中提取月份并指定一个季节.我想将冬季分配到12, 1, 2;春季到3, 4, 5;夏季到6, 7, 8;秋季,9, 10, 11.我有一部分数据如下.我对循环很糟糕,无法弄明白.同样对于约会,我不确定像lubridate这样的软件包是如何工作的
"","UT_TDS_ID_2011.Monitoring.Location.ID","UT_TDS_ID_2011.Activity.Start.Date","UT_TDS_ID_2011.Value","UT_TDS_ID_2011.Season"
"1",4930585,"7/28/2010 0:00",196,""
"2",4933115,"4/21/2011 0:00",402,""
"3",4933115,"7/23/2010 0:00",506,""
"4",4933115,"6/14/2011 0:00",204,""
"8",4933115,"12/3/2010 0:00",556,""
"9",4933157,"11/18/2010 0:00",318,""
"10",4933157,"11/6/2010 0:00",328,""
"11",4933157,"7/23/2010 0:00",290,""
"12",4933157,"6/14/2011 0:00",250,""
Run Code Online (Sandbox Code Playgroud) 我有一个非常大的桌子(n=2,723,860),我想从负风向(-180到180度)计算正风向(0到360度).
我的一个循环,一个带有嵌套if和else if语句的for循环,需要永远运行(见下文).
我是R的新手,我认为我没有这种结构有效.有关如何更好地构建它的任何帮助,以便它不需要这么长时间(目前在20分钟仍然没有完成)?
for (j in 1:n){
if (Jun012015$D[j] < 0){
Jun012015$D1[j] <- (Jun012015$D[j] * (-1))
} else if (Jun012015$D[j] > 0){
Jun012015$D1[j] <- ((Jun012015$D[j] * (-1)) + 360)
} else {
Jun012015$D1[j] <- 0
}
}
Run Code Online (Sandbox Code Playgroud)