R 当我使用数据框列的输入创建新列时,为什么API调用函数失败?
我的数据框架有一组API查询,每列是一个搜索词,然后行是时间段。例如,我可能有A列和B列,它们分别有搜索词“aaa”和“bbb”。然后,第1行是API调用,用于搜索2014-2015年期间的aaa或bbb(取决于列),第2行将与2013-2014年相同,以此类推 现在,我想为每个文本/url/api调用列生成一个数字列,返回从该特定api调用获得的点击数。基本上,现在我已经完成了api调用的网格,并将其转换为数据框,我想扩展数据框,以记录每个查询的命中率,并将这些命中率存储在具有相关列名的列中 我尝试了以下方法:R 当我使用数据框列的输入创建新列时,为什么API调用函数失败?,r,api,dataframe,R,Api,Dataframe,我的数据框架有一组API查询,每列是一个搜索词,然后行是时间段。例如,我可能有A列和B列,它们分别有搜索词“aaa”和“bbb”。然后,第1行是API调用,用于搜索2014-2015年期间的aaa或bbb(取决于列),第2行将与2013-2014年相同,以此类推 现在,我想为每个文本/url/api调用列生成一个数字列,返回从该特定api调用获得的点击数。基本上,现在我已经完成了api调用的网格,并将其转换为数据框,我想扩展数据框,以记录每个查询的命中率,并将这些命中率存储在具有相关列名的列中
df$sheSearch = getData(df$`she `)
希望我能像往常一样通过对现有列应用函数来创建一个新列。但是,这会生成一个看似无关的错误,但只有在我尝试调用数据帧元素的函数时才会发生:
Error in file(con, "r") : invalid 'description' argument
但是,如果我首先将df的单个元素分配给一个变量,然后调用,则没有错误:
f = df$`she `[1]
> getData(f)
[1] 30864
为什么会发生这种情况,解决办法是什么
下面是getData函数(我从Rolf Fredheim的教程中稍微修改了它)
getData,因为“df$和他的女儿
”属于因子类。您可以将系数转换为字符。您的数据是系数
,打印。默认情况下,系数
显示列的可能级别
或类别,如系数(1:3)[1]
。您可以使用df$var@latemail您的修复是正确的,但是我的getData错误仍然存在-特别是当我尝试读取URL时,我遇到了这个错误:df$sheSearch=getData(df$she)error in file(con,“r”):无效的'description'参数尝试使用getData(df[[“she”]])
。是否要使用vector调用getData?
getData <- function(url){
raw.data <- readLines(url, warn="F")
rd <- fromJSON(raw.data)
Sys.sleep(.2)
rd[[1]]$meta$hits
}