使用grepl和ifelse添加新列

时间:2015-11-16 10:17:08

标签: r

我有一个数据集,其中一列包含网站地址。

 > head(df, 1)
                                                 title                     amount
1 Bureau (elektrisch verstellbaar) + bureaustoel ook apart         € 149,00    
                                                                                                                                         condition           city
1                         Zo goed als nieuw                            |                            Ophalen of Verzenden                             Heel Nederland
                                                                                                                                                                                  website_adress
1 http://www.marktplaats.nl/a/huis-en-inrichting/bureaus-en-bureaustoelen/a1040417850-bureau-elektrisch-verstellbaar-bureaustoel-ook-apart.html?c=d97e27c274e75147b4afd0f5eb58c81b&previousPage=lr

我想过滤掉包含admarkt的网站地址。我知道如何使用它来抓住它们:

data_met_admarket <- df[grepl("admarkt", df$website_adress),]

我现在想要的是在数据框中添加一个标签,其中链接为1(有admarkt)或0(链接中没有admarkt

我试着这样做:

df$contain_admarkt <-  ifelse(df[!grepl("admarket", df$website_adress),], 1, 0)

但后来我收到以下错误:

  

ifelse错误(df [!grepl(“admarket”,df $ website_adress),],1,0):        (list)对象不能被强制输入'logical'

1 个答案:

答案 0 :(得分:1)

为什么不喜欢这样:

df$contain_admarkt <- as.integer(grepl('admarkt',df$website_adress))