在R中可以创建列表
k <- list()
k[[1]] <- airquality
k[[2]] <- rock
k[[3]] <- AirPassengers
k[[4]] <- airmiles
k[[5]] <- trees
k[[6]] <- treering
并使用
选择它k[c(1:3,6)]
在S4类中怎么做?
例如,我从dismo包中创建了一些数据:
library(dismo)
example(voronoi)
执行以下操作:
p <- matrix(c(17, 42, 85, 70, 19, 53, 26, 84, 84, 46, 48, 85, 4, 95, 48, 54, 66, 74, 50, 48,
28, 73, 38, 56, 43, 29, 63, 22, 46, 45, 7, 60, 46, 34, 14, 51, 70, 31, 39, 26), ncol=2)
v <- voronoi(p)
v
我想选择一个多边形的坐标,就可以做到。
v@polygons[[1]]@Polygons[[1]]@coords.
我的问题是如何选择第1至第3和第6个组件?
我的使用想法
v@polygons[c(1:3,6)]@Polygons[[1]]@coords
不起作用。 R说:
Error: trying to get slot "Polygons" from an object of a basic class ("list") with no slots
答案 0 :(得分:2)
问题不在于v@polygons[c(1:3,6)]
,而是在于尝试将@Polygons[[1]]@coords
直接应用于结果列表。相反,您可以像这样在lapply()
上使用v@polygons[c(1:3,6)]
:
result <- lapply(v@polygons[c(1:3,6)], function(x) x@Polygons[[1]]@coords)
可以正常工作。