我想创建一个包含数据帧的二维结构(不使用for循环)。
我试过这个,其中 $scope.map = { center: { latitude: 3, longitude: 49 }, zoom: 7 };
// preset polygons
$scope.polygons = [
{
id: 1,
path: [
{ latitude: 12, longitude: 50 },
{ latitude: 27, longitude: 54 },
{ latitude: 24, longitude: 45 },
],
stroke: { color: '#ff0000', weight: 2 },
visible: true,
fill: { color: '#ff0000', opacity: 0.3 },
events: { click: function() { console.log("clicked!"); }},
}
];
返回data.frame。
loadDF
我希望能够使用类似
的内容索引到langs <- c("en_US", "de_DE", "fi_FI", "ru_RU")
types <- c("blogs", "news", "twitter")
tables <-
sapply(langs, function(lang) sapply(types, function(type) loadDF(lang, type)))
tables
或者可能是这样的:
tables["de_DE", "twitter"]
获取数据框。
你是如何创造这样一种结构的?或者这在R中是不可能的?如果不可能,最好的选择是什么?
答案 0 :(得分:3)
在这里,我创建了一个loadDF
函数,以使此示例可重现
loadDF<-function(a,b) {
data.frame(a=a, b=b, x=runif(3))
}
如果您将项目填入列表,您实际上可以获得类似于您想要的结构
tables <-
sapply(langs, function(lang) sapply(types, function(type) list(loadDF(lang, type))))
然后你可以做
tables[["twitter","de_DE"]]
请注意,我们在此使用双括号从此尺寸列表中提取data.frame。