2017-08-16 113 views
0

我是R新手,正在尝试使用SocialMediaMineR包来解析存储在csv数据集中的缩短的URL。这是通过get_url命令完成的,该命令需要一个字符向量作为要解析的URL。使用csv文件中的数据作为R中字符的向量

让我们说我想解决三个URL。如果我手动创建这三个字符的载体,启动命令,它的工作原理:

library(SocialMediaMineR) 
    url<- c("http://buff.ly/1bH9XaL", "http://buff.ly/1I4REcx", "http://buff.ly/1kMqoFs") 
    get_url(url, return.df = T) 
...    originalURL 
1 http://buff.ly/1bH9XaL 
2 http://buff.ly/1I4REcx 
3 http://buff.ly/1kMqoFs 
                                                 resolvedURL 
1          https://www.storiedmind.com/relationship/11-relationship-traps-of-depression/?utm_source=buffer&utm_campaign=Buffer&utm_content=buffer8151c&utm_medium=twitter 
2 http://inkygirl.com/inkygirl-main/2015/8/15/am-going-to-try-hard-not-to-be-like-these-writers-while-im-o.html?utm_content=bufferc6643&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer 
3   http://the7gracesofmarketing.com/2014/07/10-business-systems-to-help-your-one-person-enterprise-grow/?utm_content=buffer83b26&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer 

不过,我想URL列表中直接从我的csv文件拍摄。我试着用包含完全相同的三个URL作为前一个CSV文件,下面的代码:

library(SocialMediaMineR) 
url_list = read.csv("~/Desktop/url2.csv", header = F) 
as.character(url_list) 
get_url(url_list) 

不过,我不断收到以下错误:

Error : length(url) == 1 is not TRUE 

为了清楚起见,这里的结构从csv文件读取数据:

> url_list<-read.csv("~/Desktop/url2.csv", header = F) 
> dput(url_list) 
structure(list(V1 = structure(1:3, .Label = c("http://buff.ly/1bH9XaL", 
"http://buff.ly/1I4REcx", "http://buff.ly/1kMqoFs"), class = "factor")), .Names = "V1", class = "data.frame", row.names = c(NA, 
-3L)) 

为什么会发生这种情况,我该如何解决?任何帮助将非常感激!

+1

您可以发布dput(URL_LIST)'只是之后的'输出'读.csv'? (之前的任何其他指示。) –

+0

请显示中间结果。当通过'read.csv'导入数据时,'url_list'的结构是什么? –

+0

@RuiBarradas我已经添加了问题的信息。谢谢! – Cristian

回答

0

首先,您还没有使用参数stringsAsFactors = FALSE读取数据,因此您有一列factor类对象。你必须这样做

在此之后,下面似乎工作。

get_url(url_list$V1) 

注:在数据读取正确的方法本来,像我上面所说的,

url_list = read.csv("~/Desktop/url2.csv", header = F, stringsAsFactors = FALSE) 
+0

非常感谢!这样做! – Cristian

相关问题