使用lapply加载多个R文件时避免列前缀

时间:2018-05-19 23:11:31

标签: r list

我有一系列R文件(每个文件分别存储为数据表),我可以加载两种方式之一。

方法1:

load ("WIOT2000_October16_ROW.Rdata")
wiot2000 = wiot
load ("WIOT2001_October16_ROW.Rdata")
wiot2001 = wiot
load ("WIOT2002_October16_ROW.Rdata")
wiot2002 = wiot
load ("WIOT2003_October16_ROW.Rdata")
wiot2003 = wiot
load ("WIOT2004_October16_ROW.Rdata")
wiot2004 = wiot
load ("WIOT2005_October16_ROW.Rdata")
wiot2005 = wiot
load ("WIOT2006_October16_ROW.Rdata")
wiot2006 = wiot
load ("WIOT2007_October16_ROW.Rdata")
wiot2007 = wiot
load ("WIOT2008_October16_ROW.Rdata")
wiot2008 = wiot
load ("WIOT2009_October16_ROW.Rdata")
wiot2009 = wiot
load ("WIOT2010_October16_ROW.Rdata")
wiot2010 = wiot
load ("WIOT2011_October16_ROW.Rdata")
wiot2011 = wiot
load ("WIOT2012_October16_ROW.Rdata")
wiot2012 = wiot
load ("WIOT2013_October16_ROW.Rdata")
wiot2013 = wiot
load ("WIOT2014_October16_ROW.Rdata")
wiot2014 = wiot

wiod = list(wiot2000,wiot2001,wiot2002,wiot2003,wiot2004,wiot2005,wiot2006,wiot2007,wiot2008,wiot2009,wiot2010,wiot2011,wiot2012,wiot2013,wiot2014)

方法2:

 filenames = lapply(seq(2000,2014), function(x) paste("WIOT", x, "_October16_ROW.Rdata", sep="")

 wiod = lapply(filenames, function(x) as.data.table(mget(load(x))))

两种方法都获得相同的结果,但显然方法2是优选的。但是,对于方法2,每个数据框中的列名称前面都有“wiot” - 每个数据表的预设名称。

有关如何使用方法2避免“wiot”前缀的任何想法?

0 个答案:

没有答案