我對R來說比較新。我一直試圖通過循環for()參數進行試驗。循環到組數據列
我有一個遵循這種模式的虛擬數據集:
Date EUR HIGH EUR LOW EUR CLOSE JPY CURNCY JPY LOW JPY CLOSE GBP CURNCY GBP CURNCY GBP CURNCY
8/30/2016 1.12 1.12 1.12 102.56 101.76 102.50 1.31 1.31 1.31
8/29/2016 1.12 1.12 1.12 102.39 101.84 101.92 1.32 1.32 1.32
8/28/2016 1.13 1.12 1.12 101.94 100.06 101.84 1.33 1.33 1.33
8/27/2016 1.13 1.12 1.12 101.94 100.06 101.84 1.33 1.33 1.33
8/26/2016 1.13 1.12 1.12 101.94 100.06 101.84 1.33 1.33 1.33
8/25/2016 1.13 1.13 1.13 100.62 100.30 100.53 1.33 1.33 1.33
8/24/2016 1.13 1.12 1.13 100.61 100.10 100.45 1.33 1.33 1.33
8/23/2016 1.14 1.13 1.13 100.39 99.94 100.24 1.32 1.32 1.32
8/22/2016 1.13 1.13 1.13 100.93 100.21 100.33 1.32 1.32 1.32
8/21/2016 1.14 1.13 1.13 100.46 99.88 100.22 1.32 1.32 1.32
8/20/2016 1.14 1.13 1.13 100.46 99.88 100.22 1.32 1.32 1.32
8/19/2016 1.14 1.13 1.13 100.46 99.88 100.22 1.32 1.32 1.32
由於我必須遵循這個模式組織各種Excel文件(即:低價格,高和關閉),我試圖創建一個函數將三個變量(低,高,關閉)和日期合併到一個表中。這背後的想法是,我希望爲每種貨幣生成一張單獨的表格,以便對每種貨幣單獨進行分析,然後通過所有貨幣循環,如果這樣做合理的話。
那麼理想,我想R鍵生成像表:
Date Euro High Euro Close Euro low
1/1 1.15 1.13 1.12
1/2 1.15 1.13 1.12
1/3 1.15 1.13 1.12
然後我就具有R做一些基本的分析,然後把它重複該過程的下一個變量(GBP,日元)。我在分組部分有點麻煩。
我的代碼是非常錯誤的(也可能是一個重大的眼中釘),但它可能在指出改進/錯誤有用:
Data.Prep = function(x){
for(i in seq(1))
{
dates = as.Date(x[,i], format="%m/%d/$Y")
}
for(i in seq(2, length(x)))
{
x[,i] = as.numeric(as.character(x[,i]))
}
for(i in seq(2, length(x), 3))
{
x1 = x[i:(i-1)]
}
}
X1回報:
GBP.CURNCY JPY.CLOSE
1 1.3120 102.50
2 1.3172 101.92
3 1.3279 101.84
4 1.3279 101.84
5 1.3279 101.84
6 1.3264 100.53
7 1.3273 100.45
8 1.3211 100.24
9 1.3157 100.33
10 1.3185 100.22
11 1.3185 100.22
12 1.3185 100.22
這裏你不需要循環。你只需要對數據進行子集分析。試試這個'i = grep('EUR',names(x)); x [,c(1,i)]'。 –
如果你不允許列名中有空格,你會有更好的運氣。我猜這是一個製表符分隔的文件,sep ='\ t'將是表讀取的參數。 –