0

在 R 中,我想找到一种使用以下数学方程和 .csv 文件编写 for 循环的方法。

这是一个显示 .csv 文件中的两行的示例。

6/27/2010 8:45  131.04
6/27/2010 9:00  111.11

第二列将x在以下等式中。

http://i.stack.imgur.com/inOKV.jpg

我需要帮助编写上面的等式和一个用于写入具有负载可变性的 .csv 文件的 for 循环。

4

1 回答 1

4

要获得一组特定数字的 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 答案。接下来,您可以ddplyplyr包中使用来获取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")

我认为这涵盖了所有步骤...

于 2012-08-10T19:05:27.187 回答