гиперссылки на каждую строку в flextable - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть фрейм данных

df = data.frame("A" = c("a","b","c","d"), "B" = c(1,2,3,4), "link" = c("www.a.com", "www.b.com", "www.c.com", "www.d.com"))

Ссылка AB

a 1 www.a.com

b 2 www.b.com

c 3 www.c.com

d 4 www.d.com

Я создаю таблицу форматов

dt.ft <- regulartable(data = dt[, list(A, B, link)])

Я хочузначения в столбце «А» связаны с соответствующими значениями в столбце «ссылка».

Я попытался

compose(x = dt.ft, j = "A", value = as_paragraph( hyperlink_text(x = A, url = link)))

и получил следующую ошибку:

Ошибка в $<-.data.frame (*tmp*, "url", значение = c (1L, 2L, 3L, 4L, 1L,: замена имеет 16 строк, данные имеют 4

Приведенный выше оператор Rработает, если в таблице есть только 1 строка, но не может работать с несколькими строками. Не могли бы вы мне помочь. Кроме того, есть ли способ скрыть / удалить столбец «ссылка» после ссылки.

1 Ответ

1 голос
/ 02 апреля 2019

Во-первых, возникла проблема, версия 0.5.2 должна это исправить.

library(flextable)

df = data.frame("A" = c("a","b","c","d"), "B" = c(1,2,3,4), "link" = c("www.a.com", "www.b.com", "www.c.com", "www.d.com"))
dt.ft <- flextable(data = df, col_keys = c("A", "B"))
dt.ft <- compose(x = dt.ft, j = 1, value = as_paragraph( hyperlink_text(x = A, url = link)))
dt.ft

В примере также показано, как выбрать столбцы, которые вы хотите отображать, используя аргумент col_keys.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...