我有一個數據集,我想將一個方程應用於我的數值組。具體來說,我想申請使用R將方程應用於數據集內的特定數據組
sqrt(X^2+Y^2+Z^2)
所有值的具體時間和可變
望着數據中下面我想通過獨特的時間(TS)和分檔(賓)組我的價值觀,並抓住每個XY和Z分量的平方和的平方根。
id D Bin value Month Day Year Hour Minute Second TS
1 X V1 -0.320 1 30 2012 13 59 50 2012-01-30 13:59:50
1 Y V1 -0.088 1 30 2012 13 59 50 2012-01-30 13:59:50
1 Z V1 0.171 1 30 2012 13 59 50 2012-01-30 13:59:50
1 X V2 0.368 1 30 2012 13 59 50 2012-01-30 13:59:50
1 Y V2 -0.104 1 30 2012 13 59 50 2012-01-30 13:59:50
1 Z V2 0.008 1 30 2012 13 59 50 2012-01-30 13:59:50
2 X V1 -0.052 1 30 2012 14 0 50 2012-01-30 14:00:50
2 Y V1 0.278 1 30 2012 14 0 50 2012-01-30 14:00:50
2 Z V1 -0.086 1 30 2012 14 0 50 2012-01-30 14:00:50
2 X V2 -0.214 1 30 2012 14 0 50 2012-01-30 14:00:50
2 Y V2 0.118 1 30 2012 14 0 50 2012-01-30 14:00:50
2 Z V2 -0.030 1 30 2012 14 0
所以最多第一是V1在十三時59分50秒
sqrt(-0.320^2 + -0.088^2 + 0.171^2)
,然後在T13 V2:59:50
sqrt(0.368^2 +-0.104^2 + 0,008^2)
等
我試圖用這個公式(數據被稱爲「V」)
V=aggregate(value~TS+variable,data=V,sqrt((if(V$D=="X")V$value^2)+(if(V$D=="Y")V$value^2))+(if(V$D=="Z")V$value^2))
但顯然這是行不通的。那麼,有沒有人有更好的方法來首先索引數據集中的唯一組,並將方程應用於該組?
在你的數字例子中,你需要圍繞負數加括號:'-0.320^2'是負數。 – 2012-02-25 00:22:11