2017-08-16 108 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

相關問題