我是一名学习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)
我可以看到返回&#39; testFrame&#39;在我的数据和&#39; urltoread&#39;在我的环境中。工作得很好。 我的任务是尝试编写一个基本功能来执行此操作。 如果我在下面运行我的功能,我会得到&#39; str&#39;回到我的控制台,但没有数据或值
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
谢谢
克里斯
答案 0 :(得分:3)
将return(str(testFrame))
更改为return(testFrame)
或将其完全删除。
R中的函数基本上只输出'return'命令中的内容,如果没有'return',它将自动输出生成的最后一个对象。您的原始代码强制它仅返回数据框的结构(str),而不是数据框本身。
编辑:只是为了澄清,如果你完全删除return
,你需要在进行函数调用时分配一个新变量。 e.g。csvData <- chris(url)
。
答案 1 :(得分:1)
chris<- function(url)
{
urlToRead <-(url)
testFrame<- read.csv(url(urlToRead))
return(testFrame)
}
testframe=chris ("https://www2.census.gov/programs-surveys/popest/tables/2010-
2011/state/totals/nst-est2011-01.csv")