2017-02-27 7 views
0

非常に単純な式を使用して、瞬時速度をどのように計算できますか? 瞬間速度 - 参照前の値

Vi = V0 + acceleration * time 

次のタスク

は1つが、前の前のセルをクリックすることができますようMS.Excelと非常に簡単ですが、どのように我々はRでこれを呼ぶのですか?

acceleration <- c(1,2,3,4,5,4,3,2,1) 
time <- rep(0.1,9) 
df1 <- data.frame(acceleration, time) 


df1$instant.vel <- df1$acceleration * df1$time + .... 
+0

DF1の速度のための列がありますか? – OmaymaS

+0

私たちは何をしたいのですか – lukeg

+1

v0 = 0と仮定すると、cumsum(df1 $ acceleration * df1 $ time)はあなたが望むものを与えますか? –

答えて

0

ステップバイdplyr::lag

library(dplyr) 

df1 %>% 
    mutate(V=(lag(acceleration,default=0)*lag(time,default=0))+(acceleration*time)) 

    acceleration time V 
1   1 0.1 0.1 
2   2 0.1 0.3 
3   3 0.1 0.5 
4   4 0.1 0.7 
5   5 0.1 0.9 
6   4 0.1 0.9 
7   3 0.1 0.7 
8   2 0.1 0.5 
9   1 0.1 0.3 

またはステップを使用してみてください:

df1 %>% 
    mutate(V0=(acceleration*time)) %>% 
    mutate(V1=V0+(lag(acceleration,default=0)*lag(time,default=0))) 
    acceleration time V0 V1 
1   1 0.1 0.1 0.1 
2   2 0.1 0.2 0.3 
3   3 0.1 0.3 0.5 
4   4 0.1 0.4 0.7 
5   5 0.1 0.5 0.9 
6   4 0.1 0.4 0.9 
7   3 0.1 0.3 0.7 
8   2 0.1 0.2 0.5 
9   1 0.1 0.1 0.3 
関連する問題