2016-11-12 15 views
2

私はこの機能を実行しません。コード内のコマンドは、それが自分自身に適用されたときに動作しますが、このlapply関数で実行するとエラーになります。私はCurlライブラリなどを更新しようとしました...なぜそれが起こっているのか分かりません。R - curl :: curl_fetch_memory(url、handle = handle)のエラー:不正な形式またはURLを使用していないURL

library(curl) 
    ##dataframe looks like this as factor list: x = "http://google.com" 
    funk <- function(x) { 
      read_html(x) %>% html_node("title") %>% html_text 
    } 
    df$titles<-lapply(df$urls,funk) 

    Error: 'Error in curl::curl_fetch_memory(url, handle = handle) : 
    URL using bad/illegal format or missing URL 
    ' does not exist in current working directory ('/Users/Home/'). 

何か助けていただければ幸いです。

+0

など、ほとんど常にあなたがhttp://またはhttps://でドメインを修飾していないことを意味し

' does not exist in current working directory ('/Users/Home/'). 

を言って、エラーを取得します。データフレームは、ファクタリストとして上記の例のようなURLのリストです。 – frameworkgeek

+0

キャラクターを強制する? URLを見ずに診断することは不可能です。 – alistaire

+0

@alistaire yeahはlapplyの中でas.character(df $ urls)を試してみました。 – frameworkgeek

答えて

0

機能がlapply内で動作します。

df <- data.frame(urls=c("http://google.com", "http://ytcracker.com"), stringsAsFactors = F) 
funk <- function(x) { 
    read_html(x) %>% html_node("title") %>% html_text 
} 

lapply(df$urls, funk) 
[[1]] 
[1] "Google" 

[[2]] 
[1] "ytOS/2014" 
df$titles <- lapply(df$urls, funk) 
df 
    urls titles 
1 http://google.com Google 
2 http://ytcracker.com ytOS/2014 

だから、問題は、あなたの質問の非再現性の一部である必要があります〜するデータフレーム(将来はRの質問のデータをdput()にしてください - 詳細についてはRのタグの説明をご覧ください)。

具体的には、エラーメッセージは、そのデータフレーム内でURLを指定した可能性があることを示しています。

さらに具体的に

、あなたが更新

関連する問題