Я пытался понять, что и как работает plyr, пробуя разные переменные и функции и наблюдая за результатами. Поэтому я больше ищу объяснение того, как работает plyr, чем конкретное исправление, на которое он отвечает. Я прочитал документацию, но мой мозг новичка все еще не понимает ее.
Некоторые данные и имена:
mydf<- data.frame(c("a","a","b","b","c","c"),c("e","e","e","e","e","e")
,c(1,2,3,10,20,30),
c(5,10,20,20,15,10))
colnames(mydf)<-c("Model", "Class","Length", "Speed")
mydf
Вопрос 1 :Синтаксис суммирования и преобразования
Итак, если я войду:ddply(mydf,.(Model), summarise, sum = Length+Length)
Я получаю:
`Model..1
1 a 2
2 a 4
3 b 6
4 b 20
5 c 40
6 c 60
и если я ввожу:ddply(mydf,.(Model), summarise, Length+Length)
Я получаю тот же результат.
Теперь, если использовать преобразование:ddply(mydf,.(Model), transform, sum = (Length+Length))
я получаю:
Model Class Length Speed sum
1 a e 1 5 2
2 a e 2 10 4
3 b e 3 20 6
4 b e 10 20 20
5 c e 20 15 40
6 c e 30 10 60
Но если я сформулирую это так же, как первое резюме:
ddply(mydf,.(Model), transform, (Length+Length))
Model Class Length Speed
1 a e 1 5
2 a e 2 10
3 b e 3 20
4 b e 10 20
5 c e 20 15
6 c e 30 10
Так почему же добавление «sum =" имеет значение?
Вопрос 2 :Почему они не работают?
ddply(mydf,.(Model), sum, Length+Length)
#Ошибка в функции (i):объект «Длина» не найден
ddply(mydf,.(Model), length, mydf$Length) #Error in.fun(piece,...) :
2 аргумента переданы в 'length', для которого требуется 1
Эти примеры больше для того, чтобы показать, что где-то я принципиально не понимаю, как пользоваться plyr.
Приветствуются любые ответы или объяснения.