にデータフレームのリストにあるすべての列を変換する:私は開始と終了が分によって与えられる時系列に各データフレーム内の各列を変換するにはどうすればよい私はそのようなリストを持っている時系列
df1 <- data.frame(var1 = 1:5, var2 = 6:10)
rownames(df1) <- 2001:2005
df2 <- data.frame(var5 = 21:25, var6 = 26:30)
rownames(df2) <- 2006:2010
mylist <- list(df1,df2)
> mylist
[[1]]
var1 var2
2001 1 6
2002 2 7
2003 3 8
2004 4 9
2005 5 10
[[2]]
var5 var6
2006 21 26
2007 22 27
2008 23 28
2009 24 29
2010 25 30
とそれぞれのデータフレームのrownamesの最大?
私が試した:その結果
lapply(mylist, function(x) {apply(x, 2, function(y) ts(y, start = min(rownames(y), end = max(rownames(y)))))})
:
Error in if (nobs != ndata) data <- if (NCOL(data) == 1) { :
missing value where TRUE/FALSE needed
をそれのいずれかの意味を理解していません。
以前のような構造を維持するためのフレーム。 は機能、マイリスト(lapply '試してみてください(X){適用されます(x、2、function(y)ts(y、start = min(rownames(y))、end = max(rownames(y))))}) 'となります。 そして、私は 'max'と' min'関数で 'as.numeric(rownames(y))'を行うべきではないでしょう。 'rownames(y)'は文字列を与え、Rは文字列の最小値または最大値を計算できないためです。 – Smich7