如果我的术语错误,请纠正我的问题,因为在这个问题上我不太清楚我在处理元素,对象,列表时我处理了什么......我只知道它不是数据框。 使用prepksel {adehabitatHS}
中的示例我试图修改自己的数据以适合其包装。在他们的示例数据上运行此命令会创建一个对象?称为x这是一个列表3节?元素?到它。 示例数据代码:将新数据附加到列表中的特定元素
library(adehabitatHS)
data(puechabonsp)
locs <- puechabonsp$relocs
map <- puechabonsp$map
pc <- mcp(locs[,"Name"])
hr <- hr.rast(pc, map)
cp <- count.points(locs[,"Name"], map)
x <- prepksel(map, hr, cp)
望着X是所谓的标签,重3个元素列表的结构和要素
str(x)
List of 3
$ tab :'data.frame': 191 obs. of 4 variables:
..$ Elevation : num [1:191] 141 140 170 160 152 121 104 102 106 103 ...
..$ Aspect : num [1:191] 4 4 4 1 1 1 1 1 4 4 ...
..$ Slope : num [1:191] 20.9 18 17 24 23.9 ...
..$ Herbaceous: num [1:191] 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 ...
$ weight: num [1:191] 1 1 1 1 1 2 2 4 0 1 ...
$ factor: Factor w/ 4 levels "Brock","Calou",..: 1 1 1 1 1 1 1 1 1 1 ...
我的数据,我会创建多个"x"
名单并希望合并每个细分内的数据。所以,我创建了2007年,2008年和2009年的"x"
。现在,我想追加"tab"
元素08到07,然后是09到07/08。并对的"weight"
和"factor"
元素执行相同操作。你如何绑定这些数据?我考虑在列表的每个片段上使用unlist
,然后附加并加入每个片段的年度数据,然后将这三个片段重新加入到一个列表中。但是这很麻烦,而且效率很低。
我知道这是不是会是如何工作的,但在我的头上,这是我应该做的事情:
newlist<-append(x07$tab, x08$tab, x09$tab)
newlist<-append(x07$weight, x08$weight, x09$weight)
newlist<-append(x07$factor, x08$factor, x09$factor)
也许rbind
? do.call("rbind", lapply(....uh...stuck
“我将创建多个x列表并希望追加列表中的每个元素以创建1个列表。”咦? – joran
感谢您给予'str(x)'。 'dput(x)'也会非常有用。 –
@BlueMagister我没有把dput(x)放入,因为我提供的任何代码的第一部分都可以运行,只需复制粘贴即可。我认为它会避免创建一个长信息,因为我更关心如何将新数据加入列表中的不同部分。 – Kerry