我目前正在研究由60個時間序列組成的數據庫。我實際上有兩個數據集:每個數據集對應一個特定的變量(A或B)。 請在下面找到(即使我的真正的數據庫包含了60名和51歲)的例子 變量列名(字符)上的循環/ cbind
year name1 name2 name3
2002 39 56 31
2003 37 31 52
2004 51 58 51
2005 70 59 68
2006 41 43 37
2007 43 31 53
變量B:
year name1 name2 name3
2002 56 18 24
2003 72 52 59
2004 32 30 33
2005 33 34 51
2006 47 46 19
2007 19 32 25
我想實現一個循環,將創建按照每個名稱的矩陣。
即:對NAME1
year var1 var2
2002 39 56
2003 37 72
2004 51 32
2005 70 33
2006 41 47
2007 43 19
起初,我做了以下(因爲我只有在過程中出現的兩個數據集的系列感興趣)
names=as.matrix(intersect(colnames(df.var_A),colnames(df.var_B)))
DF.VAR_A=subset(df.var_A,select=noms)
DF.VAR_B=subset(df.var_B,select=noms)
然後我想得到對應於每個名稱的系列(A和B)
我得到的年份:
YEAR=DF.VAR_A[,"year"]
正如預期的那樣,我覺得:
DF.VAR_A[,"name1"]
[1] 39 37 51 70 41 43
現在我想爲每一個名稱的數據幀,取得了今年,對應變量A和相應的變量B.
值I值從名稱向量中取下「YEAR」。
NAMES=names[-c(1)]
然後我曾嘗試:
DATA=NULL
for (i in 1:length(NAMES)){
DATA[i]=cbind(YEAR,DF.VAR_A[,i],DF.VAR_B[,i])
}
但以下警告來UO: 1:在DATA [I] = cbind(ANNEE,DF.VAR_A [,I],DF.VAR_B [,i]): leombre d'objetsàremplacer n'est pas de multiple ta laille du remplacement
總結起來,我想得到3個不同的數據框(每個名稱1個),然後能夠應用一個循環(我已經編程)。我想要「循環」到每個系列。 我希望很清楚...
任何想法?
非常感謝。
嗨,歡迎SO。由於您在這裏很新,您可能需要閱讀[** about **](http://stackoverflow.com/about)和[** FAQ **](http://stackoverflow.com/faq)網站的各個部分可以幫助您充分利用它。如果答案確實解決了您的問題,您可能需要考慮*將其標記爲接受並/或將其標記爲已接受,以顯示問題已回答,方法是勾選合適答案旁邊的小綠色複選標記。你是**沒有義務這樣做,但它有助於保持網站清潔未解決的問題,並獎勵那些花時間解決問題的人。 –