Как использовать значение переменной в качестве имени столбца в unnest_tokens - PullRequest
0 голосов
/ 25 октября 2019

У меня есть следующий код:

df <- tibble(c1 = 1:3, c2 = c("This is text1",
                              "This is text2",
                              "This is text3"))

#This works ok!
unnest_tokens(df, input=c2,
                  output=word)

#This works ok!
unnest_tokens(df, input="c2",
                 output=word)

#Why this one doesn't work?
a = "c2"
unnest_tokens(df, input=a,
                  output=word)

Как видно выше, unnest_tokens принимает как c2 (имя столбца в качестве переменной), так и "c2" (имя столбца в виде строки),

Но я бы хотел использовать третий вариант. Передайте "c2" в качестве значения переменной, скажем, a, а затем используйте значение в качестве имени столбца.

Возможно ли это сделать в функции пакета tidytext R unnest_tokens?

1 Ответ

1 голос
/ 25 октября 2019

Это связано с цитированием внутри тививерса. Попробуйте это с !!.

a = "c2"
unnest_tokens(df, input=!!a,
                  output=word)

# A tibble: 9 x 2
     c1 word 
  <int> <chr>
1     1 this 
2     1 is   
3     1 text1
4     2 this 
5     2 is   
6     2 text2
7     3 this 
8     3 is   
9     3 text3

Отличным ресурсом для всего этого является Advanced R "Хэдли Уикхема * .

19.4.1. один аргумент

Используйте !! для удаления одного аргумента в вызове функции.

...