我是一名学习 R 的新生,我有一个本应很简单的问题,但我陷入了脑锁。
我正在使用 RStudio,我正在尝试编写一个简单的函数来访问 URL 并带回 csv(人口普查表)。我可以做单独的行来提取数据......但我知道我错过了一些简单的东西,但我无法到达那里。 如果我运行这个
urlToRead <-"https://www2.census.gov/programs-surveys/popest/tables /2010-2011/state/totals/nst-est2011-01.csv"
还有这些
testFrame <- read.csv(url(urlToRead))
str(testFrame)
我可以在我的数据中看到返回“testFrame”,在我的环境中看到返回“urltoread”。效果很好。 我的任务是尝试编写一个基本函数来执行此操作。 如果我运行下面的函数,我会在控制台中返回“str”,但没有数据或值
chris<- function(url)
{
urlToRead <-(url)
testFrame<- read.csv(url(urlToRead))
return(str(testFrame))
}
chris ("https://www2.census.gov/programs-surveys/popest/tables/2010-2011/state/totals/nst-est2011-01.csv")
我确信这很简单,我希望我正确地格式化了问题,对于这么长的帖子我深表歉意,但我可以使用 kickstart
谢谢
克里斯
最佳答案
更改return(str(testFrame))
至return(testFrame)
或完全删除它。
R 中的函数基本上只会输出“return”命令中的内容,或者,如果不存在“return”,它将自动输出生成的最后一个对象。您的原始代码强制它仅返回数据帧的结构(str),而不是数据帧本身。
编辑:只是为了澄清一下,如果您删除 return
完全地,当您调用函数时,您需要分配一个新变量。例如csvData <- chris(url)
.
关于r - 从 URL 提取 CSV 的基本功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46965672/