当前位置:  开发笔记 > 编程语言 > 正文

将在线.csv文件合并到R中的数据框中

如何解决《将在线.csv文件合并到R中的数据框中》经验,为你挑选了1个好方法。



1> ialm..:

就像@RohitDas所说的那样,不断追加数据帧是非常低效的并且会很慢.只需将每个csv文件作为列表中的条目下载,然后在收集列表中的所有数据后绑定所有行.

l <- c(1441,1447,1577)
s1 <- "https://coraltraits.org/species/"
s2 <- ".csv"

# Initialize a list
x <- list()

# Loop through l and download the table as an element in the list    
for(i in l) {   
    n <- paste(s1, i, s2, sep = "") # Creates download url for i
    # Download the table as the i'th entry in the list, x
    x[[i]] <- read.csv( curl(n) ) # reads download url for i
}

# Combine the list of data frames into one data frame
x <- do.call("rbind", x)

只是一个警告:所有数据框x必须具有相同的列才能执行此操作.如果其中一个条目x具有不同数量的列或不同名称的列,rbind则将失败.

在几个不同的包中存在更有效的行绑定功能(具有一些附加功能,例如列填充).看一下这些绑定行的解决方案:

plyr::rbind.fill()

dplyr::bind_rows()

data.table::rbindlist()

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有