我有19个数据帧。每个data.frame行包含一个观察,每列包含一个变量。我想连续转换19个data.frame中的每一个以获得时间系列。
obs <- LETTERS[1:3]
Var1 <- (2:4)
Var2 <- (9:7)
April2014 <- data.frame(obs, Var1, Var2)
TimeSerie.April2014 <- data.frame(OBS = "2014/04/01",
AVar1 = April2014[1,2],
AVar2 = April2014[1,3],
BVar1 = April2014[2,2],
BVar1 = April2014[2,3],
CVar1 = April2014[3,2],
CVar2 = April2014[3,3])
这是一个更简单的例子,我想从2014年4月开始到TimeSeries.April2014,所以我可以加入19个时期的每一个以获得时间系列。
P.S。对不起我的问题的原始形式,这是我的第一个堆栈溢出问题。如果您对配方有任何提示,请不要犹豫,分享。
答案 0 :(得分:1)
对于每个数据框dat
,您可以使用
as.numeric(t(dat[,-1]))
获取你想要的矢量。如果您有19个数据框,则应重复此19次。如果您的所有数据框都在大型列表large_list
中,那么使用sapply
将为您完成所有工作:
t(sapply(large_list, function (dat) as.numeric(t(dat[,-1]))))
答案 1 :(得分:1)
是否需要使用obs中的字母?如果您只想读取行中的数字并将它们放在一个长向量中,这可能是一个简短的答案,可以很好地扩展到更大的数据集:
Var1 <- (2:4)
Var2 <- (9:7)
April2014 <- data.frame(Var1, Var2)
result <- unlist(data.frame(t(April2014)))
print(result)