我对R不熟悉,我在fortran90中使用了基本函数,但已经向R迈出了一步。我试图对一个时间序列进行计算,首先,我通过读取数据来对输入参数进行非常基本的计算,例如:
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文件中,以便也有相应的日期和时间?
发布于 2013-12-17 10:41:29
现在您已经创建了两个新的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然后可以使用data.frame保存此write.table。
write.table(data, file="mynewdata.dat", row.names=FALSE, sep="\t", quote=FALSE)发布于 2013-12-17 15:57:22
试试这个:
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 found 这里尝试如下:
my.transform(data,
Tav = (Ttop + Tbot)/2),
Vav = (0.0000802*Tav^3)-(0.000717*Tav^2)+(0.0717*Tav)+0.539)
)https://stackoverflow.com/questions/20631402
复制相似问题