2016-07-25 45 views
-1

類似於數據表我尋找相似的功能/包中的R到數據表中的MS Excel的(假設分析計算)。目前我廣泛使用Excel中的數據表來對數千行輸入數據進行多次計算。我已附加的計算的快照在Excel數據表被完成:否則中的R多個計算在Excel

enter image description here

換句話說,所有我的公式/計算是在電子表格的單個標籤,並在另一個選項卡(所有的輸入數據數千行)。我使用數據表操作來計算此數據集的每一行的結果。這使我的電子表格只用單個選項卡就可以整理所有計算。現在我正在使用R來實現相同的功能。對此深表感謝。

+0

請閱讀關於[如何提出一個好問題]的信息(http://stackoverflow.com/help/how-to-ask)以及如何給出一個[r eproducible例子](http://stackoverflow.com/questions/5963269)。這會讓其他人更容易幫助你。 – zx8754

+0

@ zx8754我現在又增加了從Excel數據表中的計算的圖像,使我的問題更加清晰。試圖把我的查詢。 – Ravikk

+1

假設你的輸入數據框被命名爲* DF1 *,我們可以計算出* CALC1 *爲:'$ DF1 CALC1 < - DF1 $ X * $ DF1 Y',對於* CALC2 *:'$ DF1 CALC2 < - DF1 $ Z/DF1 $ Y',* Calc3 *:'df1 $ Calc3 < - df1 $ Z + df1 $ X'。 – zx8754

回答

1

首先,讓我們把您的問題重複性:

df <- data.frame(case = 1:12, 
       x = seq(10, 120, by = 10), 
       y = seq(0.5, 1.6, by = 0.1), 
       z = seq(100, 210, by = 10)) 
head(df) 
# case x y z 
# 1 1 10 0.5 100 
# 2 2 20 0.6 110 
# 3 3 30 0.7 120 
# 4 4 40 0.8 130 
# 5 5 50 0.9 140 
# 6 6 60 1.0 150 

然後,我們可以這樣解決了傳統方式:

df$calc1 <- df$x * df$y 
df$calc2 <- df$z/df$y 
df$calc3 <- df$z + df$x 

head(df) 
# case x y z calc1 calc2 calc3 
# 1 1 10 0.5 100  5 200.0000 110 
# 2 2 20 0.6 110 12 183.3333 130 
# 3 3 30 0.7 120 21 171.4286 150 
# 4 4 40 0.8 130 32 162.5000 170 
# 5 5 50 0.9 140 45 155.5556 190 
# 6 6 60 1.0 150 60 150.0000 210 

或者,你可以使用transform

transform(df, calc1 = x/y, calc2 = z/y, calc3 = z + x)