r - r中的嵌套lappy
问题描述
所以我有一个函数,它需要 2 个参数来从站点读取 txt 文件。参数是 1 城市名称,第二个是数据类型。我有 2 个列表作为参数传递,它们是城市列表和数据类型列表。我如何使用嵌套的 lapply 从站点读取文件?
我对代码的尝试如下所示:
cities <- c("sydney","brisbane"...)
typedatas <- c("Max", "Avg","Min")
url<- "https:/sitename/datasets/"
read.text <- function(city, typedata){
c(url,typedata,"/year/",city, ".txt) >%>
paste0()
}
finaldata <- lapply(cities, function(x) lapply(typedatas,function(x){read.ts})) %>% set_names(cities)
它创建了一个大列表,但没有完全读取文件。输出如下:
最终数据列表 [10]
- 悉尼名单[3]
- 功能
- 功能
- 功能
- 布里斯班名单[3]
- 功能... ....
我怎样才能让它读取并使用每个城市的数据类型适当地命名数据框。
解决方案
如果没有可重复的示例,很难做到这一点,但你可以试试这个:
cities <- c("sydney","brisbane")
typedatas <- c("Max", "Avg","Min")
url<- "https:/sitename/datasets/"
read.text <- function(city, typedata){
paste0(url,typedata,"/year/",city, ".txt")
}
finaldata <- lapply(cities, function(cty){
lapply(typedatas,function(ds_type){
read.text(cty, ds_type)
})
}) %>% set_names(cities)
请注意,您的read.text
函数实际上并不读取文件,而只是创建指向它的超链接,因此您需要添加某种函数来实际读取文件。
推荐阅读
- r - R shinydashboard 必须关闭 childfull menuItem 才能使 sidebarItemExpanded 工作
- android - 如何使 EditText 不可点击并隐藏键盘但使用 XML 显示光标
- java - 使用 ModelMapper 防止循环引用 - 列表
- spring-boot - 有没有办法在 spring-kafka 中配置自定义 RecordMessageConverter?
- python - 在我的 PYQT5 的 QTableWidget 中,使用 QHeaderView 类,我在其中设置了一个复选框:如何使用该复选框来确定我选择了哪一行?
- algorithm - 快速排序算法在最后两个元素上给出错误的输出
- python - python数组将numpy引用转换为非numpy
- class - 你如何在课堂上收集特殊物品?
- flutter - 颤振布局错误“底部的无限像素溢出的 RenderFlex”
- javascript - 从 JSON 文件中获取特定键/值对的数组