创建一个新列作为列表返回
Create a new column is returning as list
我有一个数据框。我需要删除“href”,因此我正在使用 str_match_all。但是删除“href”后,新列的 class 显示为列表。谁能帮帮我
asd <- data.frame(a = c("<a href=https://abc>Click Here</a>","sdsd","<a href=https://xvd>Click Here</a>"))
asd$ew <- str_match_all(asd$a, "http[s]{0,1}://[^ ]+")
asd
a ew
<a href=https://abc>Click Here</a> https://abc>Click
sdsd
<a href=https://xvd>Click Here</a> https://xvd>Click
class(asd$ew)
"list"
预期输出
class(asd$ew)
"character"
使用as.character
:
> asd$ew <- as.character(str_match_all(asd$a, "http[s]{0,1}://[^ ]+"))
> class(asd$ew)
[1] "character"
>
使用 stringr::str_extract
代替 stringr::str_match_all
。
asd$ew <- stringr::str_extract(asd$a, "http[s]{0,1}://[^ ]+")
#asd$ew <- stringr::str_extract(asd$a, "https?://[^ ]+") #Alternative
class(asd$ew)
#[1] "character"
asd
# a ew
#1 <a href=https://abc>Click Here</a> https://abc>Click
#2 sdsd <NA>
#3 <a href=https://xvd>Click Here</a> https://xvd>Click
我有一个数据框。我需要删除“href”,因此我正在使用 str_match_all。但是删除“href”后,新列的 class 显示为列表。谁能帮帮我
asd <- data.frame(a = c("<a href=https://abc>Click Here</a>","sdsd","<a href=https://xvd>Click Here</a>"))
asd$ew <- str_match_all(asd$a, "http[s]{0,1}://[^ ]+")
asd
a ew
<a href=https://abc>Click Here</a> https://abc>Click
sdsd
<a href=https://xvd>Click Here</a> https://xvd>Click
class(asd$ew)
"list"
预期输出
class(asd$ew)
"character"
使用as.character
:
> asd$ew <- as.character(str_match_all(asd$a, "http[s]{0,1}://[^ ]+"))
> class(asd$ew)
[1] "character"
>
使用 stringr::str_extract
代替 stringr::str_match_all
。
asd$ew <- stringr::str_extract(asd$a, "http[s]{0,1}://[^ ]+")
#asd$ew <- stringr::str_extract(asd$a, "https?://[^ ]+") #Alternative
class(asd$ew)
#[1] "character"
asd
# a ew
#1 <a href=https://abc>Click Here</a> https://abc>Click
#2 sdsd <NA>
#3 <a href=https://xvd>Click Here</a> https://xvd>Click