在 R 中,我想找到一种使用以下数学方程和 .csv 文件编写 for 循环的方法。
这是一个显示 .csv 文件中的两行的示例。
6/27/2010 8:45 131.04
6/27/2010 9:00 111.11
第二列将x
在以下等式中。
我需要帮助编写上面的等式和一个用于写入具有负载可变性的 .csv 文件的 for 循环。
要获得一组特定数字的 L_var,我相信这会起作用:
l_var = sd(x) / mean(x)
哪里x
是数字的向量。接下来我们将它包装在一个函数中:
l_var = function(x) sd(x) / mean(x)
outcome = l_var(input)
其中input
是一个数字向量,以及outcome
数学方程的结果。
如果您的时间戳列属于 class POSIXlt
,您可以使用strftime
创建一个因子列来对数据进行分类。有关此步骤的更多详细信息,请参阅此SO 答案。接下来,您可以ddply
从plyr
包中使用来获取l_var
每个类别(比如一天):
result = ddply(df, .(cat), summarise, l_var = l_var(value))
其中df
是输入 data.frame 其中cat
是时间类别,并x
在上面的等式中取值。要将结果写入文件,您可以使用write.csv
:
write.csv(result, file = "out.csv")
我认为这涵盖了所有步骤...