我的数据被拆分成许多文件,我现在需要合并。这是我第一次来R
,因为我使用的源代码不允许使用Python。我知道可以将数据帧收集为
for (year in seq) LL[[year]] <- read.dta(paste("filenameStart", year, ".dta", sep="") )
很好,我接着
> summary(LL)
Length Class Mode
1993 54 data.frame list
1994 54 data.frame list
1995 54 data.frame list
1996 54 data.frame list
1997 54 data.frame list
1998 54 data.frame list
1999 54 data.frame list
2000 54 data.frame list
2001 54 data.frame list
2002 54 data.frame list
2003 54 data.frame list
2004 54 data.frame list
2005 54 data.frame list
2006 54 data.frame list
2007 54 data.frame list
2008 54 data.frame list
2009 54 data.frame list
2010 54 data.frame list
但是,我不明白第一栏是什么。它不能成为索引,因为我没有做到
> LL[1993]
$<NA>
NULL
并且必须使用LL[1]
等来访问它们。有没有办法将年份用作索引,因为摘要似乎意味着什么?或者我完全错了,“ un-R-ish ”?
答案 0 :(得分:0)
查看?dimnames
处的帮助页面,您会在&#34;价值&#34;中看到以下内容。部分:
矩阵或数组的
dimnames
可以是NULL
(未存储)或与dim(x)
长度相同的列表。如果是列表,则其组件为NULL
或具有x的适当维度的正长度的字符向量。列表可以有名称。所有组件都可能是NULL
:此类名称可能会转换为NULL
。对于&#34; data.frame&#34;方法两个dimnames都是字符向量,rownames必须不包含重复项或缺少值。
因此,要访问这些值,您需要将它们视为字符向量。
LL[["1993"]]
如果您不将它们视为字符向量,L[[1993]]
将假设您正在尝试获取1993rd列表元素。如果这不存在,您将得到一个超出边界的下标错误。