将数据附加到具有相应时间戳的.dat文件并将其导出

时间:2013-12-17 10:17:13

标签: r header dataframe export append

我是R.的新手。我正在使用fortran90中的基本功能,但已经迈出了一步。我正在尝试对时间序列进行计算,首先我通过读取我的输入参数进行非常基本的计算数据例如:

data <- read.table("mydata.dat",header=TRUE,sep="\t")

例如如下所示:

datetime            Ttop    Tbot
11/07/2013 19:16    20.61   20.5
11/07/2013 19:17    20.62   20.49
11/07/2013 19:18    20.6    20.48
11/07/2013 19:19    20.6    20.47

然后我发现顶部和底部的平均温度为Tav:

Tav <- data.frame((data$Ttop+data$Tbot)/2)

然后使用以下水的饱和压力作为Vav:

Vav <- data.frame((0.0000802*Tav^3)-(0.000717*Tav^2)+(0.0717*Tav)+0.539)

如何使用指定的标头导出此数据,例如分别将“Tav”和“Vav”附加到原始.dat文件中,以便具有相应的日期和时间?

2 个答案:

答案 0 :(得分:2)

您现在已经创建了两个新的data.frames。我认为将新变量添加到现有data.frame:

会更实际
data$Tav <- data$Ttop+data$Tbot)/2
data$Vav <- (0.0000802*Tav^3)-(0.000717*Tav^2)+(0.0717*Tav)+0.539

然后可以使用write.table保存此data.frame:

write.table(data, file="mynewdata.dat", row.names=FALSE, sep="\t", quote=FALSE)

答案 1 :(得分:0)

试试这个:

Tav <- with(data, (Ttop + Tbot)/2)
transform(data, Tav = Tav, Vav = (0.0000802*Tav^3)-(0.000717*Tav^2)+(0.0717*Tav)+0.539) 

或使用my.transform找到here试试这个:

my.transform(data, 
         Tav = (Ttop + Tbot)/2),
         Vav = (0.0000802*Tav^3)-(0.000717*Tav^2)+(0.0717*Tav)+0.539)
)