如何筛选r DT中包含超链接的列
我有一个列“url”,其中包含超链接。链接文本是整数。如何使列过滤在DataTables中工作,以便使用链接文本而不是超链接的html执行过滤?以下是一个例子:如何筛选r DT中包含超链接的列,r,dt,R,Dt,我有一个列“url”,其中包含超链接。链接文本是整数。如何使列过滤在DataTables中工作,以便使用链接文本而不是超链接的html执行过滤?以下是一个例子: library(DT) df <- data.frame(Val = c("A", "B"), url = c("<a href='https://www.google.com'>1</a>", "<a href='https://www.google.com'>2</a>")) d
library(DT)
df <- data.frame(Val = c("A", "B"), url = c("<a href='https://www.google.com'>1</a>", "<a href='https://www.google.com'>2</a>"))
datatable(df, escape = FALSE, filter = list(position = "top"))
库(DT)
df是否需要url文本为整数?如果没有,一种快速而肮脏的方法是重构html节点,使url的字符串可见
即
dflibrary(DT)
除非我误解了这个问题,否则它看起来就像你已经问过的那样。您是否尝试根据1和2筛选URL列?我编辑了我给出的示例。我想做的是根据url列中的值1和2筛选行。这有点误导,因为我在val列中也有1和2,所以我将它们改为a和B。哦,我现在明白了,我也不希望它有这样的行为!我想我的问题表述得很糟糕。请看我上面的评论。
df <- data.frame(Val = c(1,2), url = c("<a href='https://www.google.com'>1</a>", "<a href='https://www.bbc.com'>2</a>")
df$string_url <-paste("<a href ='", (str_match(df$url, "'(.*?)'")[,2]), "'>", (str_match(df$url, "'(.*?)'")[,2]), "</a>", sep = "" )
datatable(df[c("Val","string_url")], escape = FALSE, filter = list(position = "top"))
library(DT)
render <- c(
"function(data, type, row){",
" if(type === 'display'){",
" var a = '<a href=\"' + row[3] + '\">' + data + '</a>';",
" return a;",
" } else {",
" return data;",
" }",
"}"
)
df <- data.frame(
Val = c("A", "B"),
url = c("google", "stackoverflow"),
href = c("https://www.google.com", "https://www.stackoverflow.com")
)
datatable(df, escape = FALSE, filter = list(position = "top"),
options = list(
columnDefs = list(
list(targets = 2, render = JS(render)),
list(targets = 3, visible = FALSE)
)
)
)