首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R-创建包含数据帧中存在的唯一URL参数的向量

R-创建包含数据帧中存在的唯一URL参数的向量
EN

Stack Overflow用户
提问于 2016-06-16 17:45:45
回答 2查看 393关注 0票数 0

来自以下数据帧URLS

代码语言:javascript
复制
>dput(droplevels(head(URLS, 5)))

URLS <- structure(list(URLS = structure(c(3L, 1L, 4L, 5L, 2L), .Label = c("http://www.example.com/cms/en/product/channel.html?channel=db3a30433580b37101359f8ee6963814#Anker&ic=0590001", 
"http://www.example.com/cms/en/product/power/igbt/igbt-discrete/discrete-igbt-with-anti-parallel-diode/600v-and-1200v-trenchstop/channel.html?channel=db3a3043397219b6013977d62aa15462&ic=0590001", 
"http://www.example.com/cms/en/product/power/lighting-ics-and-audio-driver-ics/dc-dc-led-driver-ic-and-linear-control-solutions/CDM10V/productType.html?productType=5546d46253f65057015414dc7d576130&ic=0590001", 
"http://www.example.com/cms/en/product/promopages/pcim?ic=0590001", 
"http://www.example.com/dgdl/example-ApplicationNote_600V_TRENCHSTOP_Performance_IGBT.pdf-AN-v01_00-EN.pdf?fileId=5546d46253f65057015452d6317a71df&ic=0590001"
), class = "factor")), .Names = "URLS", row.names = c(NA, 
5L), class = "data.frame")

我想要创建一个包含所有唯一parameters参数的向量URL。例如,在这个dataframe中,输出应该是:

代码语言:javascript
复制
parameters <- c("channel","ic","productType","fileId")

我的真实数据框架有10000多个观测数据。因此,手动操作并不是可行的选择。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-16 17:51:47

你可以试试urltools包,

代码语言:javascript
复制
library(urltools)
url_parse(URLS$URLS)

为了得到参数,

代码语言:javascript
复制
url_parse(URLS$URLS)$parameter
#[1] "productType=5546d46253f65057015414dc7d576130&ic=0590001"
#[2] "channel=db3a30433580b37101359f8ee6963814"               
#[3] "ic=0590001"                                             
#[4] "fileId=5546d46253f65057015452d6317a71df&ic=0590001"     
#[5] "channel=db3a3043397219b6013977d62aa15462&ic=0590001" 

代码语言:javascript
复制
pars <- parameters(URLS$URLS)
unique(sub('=.*', '', pars))
#[1] "productType" "channel"     "ic"          "fileId"
票数 4
EN

Stack Overflow用户

发布于 2016-06-16 17:58:46

您可以使用来自getFormParams()包的RCurl来获取命名的参数值。那我们就把名字取下来。

代码语言:javascript
复制
params <- lapply(URLS$URLS, function(x) names(RCurl::getFormParams(x)))
unique(unlist(params))
# [1] "productType" "ic"          "channel"     "fileId"     
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37866066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档