#r #string #dataframe #formula
#r #строка #фрейм данных #формула
Вопрос:
У меня есть следующий тип набора данных в R:
col1 col2 col3 col4 col5 col6 col7
1 h s h s s l
2 l m s l h s
3 m h l l h l
4 vh s h l s s
5 vl s s vl s l
6 m s l h l h
7 l s l h h h
8 l s h m s h
где colX
— общее имя столбца фрейма данных.
Я хотел бы создать функцию, которая, учитывая в качестве входных данных, скажем, четыре желаемых colX
(например, col1
, col3
, col4
, col7
), способна преобразовывать следующим образом:
col1 col3 col4 col7
Комментарии:
1. Окончательное выражение просто ссылается на строки, которые представляют имена столбцов, мне не нужна сумма значений внутри столбцов.
Ответ №1:
Используйте as.formula
и paste
:
f <- function(x) as.formula(paste("dependent_variable ~",
paste(colnames(x), collapse=" ")))
dat <- data.frame(col1=rnorm(10),
col2=rnorm(10),
col3=rnorm(10))
f(dat)
#> dependent_variable ~ col1 col2 col3
Очевидно, вам просто нужно изменить colnames(x)
вектор имен столбцов, которые вы хотите использовать в формуле.