【发布时间】:2013-08-06 13:43:19
【问题描述】:
我目前正在研究由 60 个时间序列组成的数据库。我实际上有两个数据集:每个都对应一个特定的变量(A 或 B)。 请在下面找到一个示例(即使我的真实数据库包含 60 个姓名和 51 年) 变量 A
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 对应的值组成。
我从名称向量中去掉“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])
}
但是会出现以下警告: 1:在 DATA[i] = cbind(Année, DF.VAR_A[, i], DF.VAR_B[, i]) 中: le nombre d'objets à remplacer n'est pas multiple de la taille du remplacement
总而言之,我想获得 3 个不同的数据帧(每个名称 1 个),然后能够应用一个循环(我已经编程)。我想将循环“自动化”到每个系列。 我希望它很清楚......
有什么想法吗?
非常感谢。
【问题讨论】:
标签: r loops for-loop character