используя строку в команде doBy - PullRequest
1 голос
/ 22 апреля 2011

Я использую функцию summaryBy () (пакет doBy) внутри функции, которую я пишу.Я хочу определить переменную (в виде строки), по которой необходимо рассчитать сводку.Когда я определяю строку и передаю ее в функцию summaryBy, она не работает.Вот пример из файла справки функции summaryBy.

data(dietox)
dietox12<- subset(dietox,Time==12)  

Следующий код работает

summaryBy(Weight+Feed~Evit+Cu,data=dietox12,FUN=mean)

Однако следующий не работает

vardef<-'Evit';
summaryBy(Weight+Feed~vardef+Cu,data=dietox12,FUN=mean)

Iзнаю, почему это не работает.Я хотел знать, есть ли другой путь.Конечно, я могу использовать функцию ddply вместо функции summaryBy.
Спасибо.

1 Ответ

2 голосов
/ 22 апреля 2011

Если вы хотите создавать формулы динамически, самый простой способ - полностью построить его в виде строки.

form<-formula(paste("Weight+Feed~", vardef, "+Cu", sep=""))

summaryBy(form,data=dietox12,FUN=mean)

Есть и другие варианты, но это самый простой.

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