创建一个包含R中数据框的二维结构

时间:2015-07-11 19:18:34

标签: r dataframe apply

我想创建一个包含数据帧的二维结构(不使用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中是不可能的?如果不可能,最好的选择是什么?

1 个答案:

答案 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。