dcast is given the message "Aggregation function missing: defaulting to length", but I do not have duplicated rows

2,097 views
Skip to first unread message

Manuel Spínola

unread,
Aug 18, 2016, 11:09:25 AM8/18/16
to manipulatr
Dear group members,

My melted data does not have duplicated rows, however when I do dcast is giving me the message that is aggregating my data to length.

> me[duplicated(me),]
[1] camera.location site.name       season          variable       
[5] value          
<0 rows> (or 0-length row.names)

> mec = dcast(me, camera.location + site.name ~ season + variable)
Aggregation function missing: defaulting to length

Best,

Manuel

Brandon Hurr

unread,
Aug 18, 2016, 11:19:44 AM8/18/16
to Manuel Spínola, manipulatr
Manuel, 

Could you provide an example dataset (dput()) and what you want it to look like in the end?

It's been a while since I've used reshape so I'm thinking spread/gather. 

B

--
You received this message because you are subscribed to the Google Groups "manipulatr" group.
To unsubscribe from this group and stop receiving emails from it, send an email to manipulatr+unsubscribe@googlegroups.com.
To post to this group, send email to manip...@googlegroups.com.
Visit this group at https://groups.google.com/group/manipulatr.
For more options, visit https://groups.google.com/d/optout.

Manuel Spínola

unread,
Aug 18, 2016, 12:18:12 PM8/18/16
to Brandon Hurr, manipulatr
Thank you very much Brandon.

> dput(me)
structure(list(camera.location = structure(c(13L, 11L, 12L, 14L, 
27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 10L, 
9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 20L, 
21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 10L, 
9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 7L, 13L, 11L, 12L, 
14L, 27L, 13L, 11L, 12L, 14L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 
34L, 35L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 
20L, 21L, 22L, 15L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 16L, 
17L, 18L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 
20L, 21L, 7L, 8L, 3L, 13L, 11L, 12L, 14L, 27L, 13L, 11L, 12L, 
14L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 
10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 
20L, 21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 
10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 8L, 13L, 11L, 
12L, 14L, 27L, 13L, 11L, 12L, 14L, 27L, 28L, 29L, 30L, 31L, 32L, 
33L, 34L, 35L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 
19L, 20L, 21L, 22L, 15L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 
16L, 17L, 18L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 
19L, 20L, 21L, 1L, 2L, 3L, 6L, 13L, 11L, 12L, 14L, 27L, 13L, 
11L, 12L, 14L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 
7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 
15L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 
7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 1L, 
7L, 9L, 6L, 5L, 13L, 11L, 12L, 14L, 27L, 13L, 11L, 12L, 14L, 
27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 10L, 
9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 20L, 
21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 10L, 
9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 1L, 10L, 2L, 3L, 
6L, 5L, 4L, 13L, 11L, 12L, 14L, 27L, 13L, 11L, 12L, 14L, 27L, 
28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 10L, 9L, 
2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 20L, 21L, 
22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 10L, 9L, 
2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 1L, 9L, 6L, 13L, 11L, 
12L, 14L, 27L, 13L, 11L, 12L, 14L, 27L, 28L, 29L, 30L, 31L, 32L, 
33L, 34L, 35L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 
19L, 20L, 21L, 22L, 15L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 
16L, 17L, 18L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 
19L, 20L, 21L, 10L, 9L, 13L, 11L, 12L, 14L, 27L, 13L, 11L, 12L, 
14L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 
10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 
20L, 21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 
10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 8L, 2L, 4L, 
13L, 11L, 12L, 14L, 27L, 13L, 11L, 12L, 14L, 27L, 28L, 29L, 30L, 
31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 
4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 20L, 21L, 22L, 23L, 24L, 
25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 
4L, 15L, 19L, 20L, 21L, 8L, 2L, 6L, 13L, 11L, 12L, 14L, 27L, 
13L, 11L, 12L, 14L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 
1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 
22L, 15L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 
1L, 7L, 8L, 10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 
1L, 9L, 2L, 3L, 6L, 4L, 13L, 11L, 12L, 14L, 27L, 13L, 11L, 12L, 
14L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 1L, 7L, 8L, 
10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 22L, 15L, 19L, 
20L, 21L, 22L, 23L, 24L, 25L, 26L, 16L, 17L, 18L, 1L, 7L, 8L, 
10L, 9L, 2L, 3L, 6L, 5L, 4L, 15L, 19L, 20L, 21L, 7L, 8L, 10L, 
6L, 5L, 4L, 13L, 11L, 12L, 14L, 27L), .Label = c("L1P1", "L2P2", 
"L2P6", "L3P3", "L3P6", "L3P9", "L4P2", "L4P4", "L6P2", "L6P5", 
"N33", "O33", "P32", "P33", "Point 1", "Point 10", "Point 11", 
"Point 12", "Point 2", "Point 3", "Point 4", "Point 5", "Point 6", 
"Point 7", "Point 8", "Point 9", "Q34", "T43", "T45", "U43", 
"U44", "U45", "U46", "V44", "V45"), class = "factor"), site.name = structure(c(5L, 
5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 
1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 
4L, 3L, 3L, 3L, 3L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 
4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 
3L, 1L, 1L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 
3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 
3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 
1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 4L, 4L, 4L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 
1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 4L, 4L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 
1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 1L, 4L, 4L, 4L, 4L, 
4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 
3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 
1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 1L, 4L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 
1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 1L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 
1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 
4L, 4L, 4L, 3L, 3L, 3L, 3L, 1L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 
1L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 
4L, 3L, 3L, 3L, 3L, 1L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 4L, 
4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 3L, 
3L, 3L, 3L, 1L, 1L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 
4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 
3L, 3L, 3L, 3L, 1L, 1L, 1L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L), .Label = c("Egypt", 
"Goosedam", "Greenbrier", "Jarrett", "Kentuck"), class = "factor"), 
    season = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 
    1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 
    1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 
    1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 
    1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 
    3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L), .Label = c("Spring", "Summer", 
    "Winter"), class = "factor"), variable = structure(c(1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
    9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 12L, 
    12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
    12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
    12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
    12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
    12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
    12L, 12L, 12L), .Label = c("day1", "day2", "day3", "day4", 
    "day5", "day6", "day7", "day8", "day9", "day10", "day11", 
    "day12"), class = "factor"), value = c(0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 
    1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
    0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 
    0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 
    1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 
    1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 
    1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 
    0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
    0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 
    1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 
    0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
    0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 
    0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 
    1L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 
    0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 
    1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 
    0L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 
    0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 
    1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 
    0L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 
    1L, 0L, NA, NA, NA, NA, NA, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
    0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1L, 0L, 1L, 
    1L, 1L, 0L, 1L, 1L, 1L, 1L, NA, NA, NA, NA, 0L, 0L, 1L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, NA, NA, NA, NA, NA, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, NA, NA, NA, 
    NA, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L)), row.names = c(NA, 
-752L), class = "data.frame", .Names = c("camera.location", "site.name", 
"season", "variable", "value"))


--
Manuel Spínola, Ph.D.
Instituto Internacional en Conservación y Manejo de Vida Silvestre
Universidad Nacional
Apartado 1350-3000
Heredia
COSTA RICA
mspi...@una.cr
mspin...@gmail.com
Teléfono: (506) 8706 - 4662
Personal website: Lobito de río
Institutional website: ICOMVIS

Brandon Hurr

unread,
Aug 18, 2016, 12:29:39 PM8/18/16
to Manuel Spínola, manipulatr
What do you want it to look like at the end? I struggle with the formula interface of dcast a bit... :|

B

Brandon Hurr

unread,
Aug 18, 2016, 1:06:13 PM8/18/16
to Manuel Spínola, manipulatr
My best guess is the following:

library(tidyr)
library(dplyr)

glimpse(me)

me %>%
mutate(rownum = row_number()) %>%
unite(., newvar, season, variable) %>%
spread(., newvar, value) %>% glimpse

This section on spreading/gathering in Hadley/Garrett's new book is really quite good (I used it just now in fact). 


B

Manuel Spínola

unread,
Aug 18, 2016, 1:35:23 PM8/18/16
to Brandon Hurr, manipulatr
Thank you very much Brabdon.

What I like is to have only 0 and 1s, but with dcast I get 2s.

   camera.location  site.name Spring_day1 Spring_day2 Spring_day3
1             L1P1      Egypt           1           1           1
2             L2P2    Jarrett           1           1           1
3             L2P6    Jarrett           1           2           1
4             L3P3    Jarrett           1           1           1
5             L3P6    Jarrett           1           1           1
6             L3P9    Jarrett           1           1           1
7             L4P2      Egypt           2           2           1

Brandon Hurr

unread,
Aug 18, 2016, 1:39:33 PM8/18/16
to Manuel Spínola, manipulatr
Ok, so that's what I thought and if you look at the output it is what you wanted, but I did have to add a rownumber to get there. The reason is that while you don't have duplicate responses, your combinations are duplicated so you need to create a unique ID for each row so they are not aggregated in dcast. In tidyr it actually fails without this step and tells you which rows are duplicated (which is handy!). 

me %>%
#mutate(rownum = row_number()) %>%
unite(., newvar, season, variable) %>%
spread(., newvar, value) %>% glimpse
Error: Duplicate identifiers for rows (42, 55), (606, 616), (608, 617), (603, 615), (663, 677), (668, 679), (669, 680), (672, 682), (670, 681), (667, 678), (737, 747), (736, 746), (735, 745), (729, 742), (730, 743), (731, 744), (107, 117), (102, 115), (103, 116), (165, 177), (223, 237), (228, 238), (229, 239), (230, 240), (286, 300), (294, 304), (293, 303), (287, 301), (290, 302), (350, 364), (355, 366), (356, 367), (359, 370), (358, 369), (357, 368), (353, 365), (416, 430), (423, 432), (420, 431), (482, 493), (481, 492), (544, 554), (548, 555), (541, 553)

Manuel Spínola

unread,
Aug 18, 2016, 4:12:51 PM8/18/16
to Brandon Hurr, manipulatr
Thank you very much Brandon.

But I finished with the same number of rows than the initial data frame, is that correct?

Manuel 

Manuel Spínola

unread,
Aug 18, 2016, 4:35:31 PM8/18/16
to Brandon Hurr, manipulatr
I solved the problem using "distinct" for the first 4 columns and keeping the 5th.

me = distinct(me, camera.location, site.name, season, variable, .keep_all = TRUE)

mec = dcast(me, camera.location + site.name ~ season + variable)

Manuel

Brandon Hurr

unread,
Aug 18, 2016, 4:38:17 PM8/18/16
to Manuel Spínola, manipulatr
You said you didn't want to aggregate/summarize. Do you actually want to? 

I guess I'm a little confused here. When I fully spread() your data as you listed above the following are the names for the columns:
[1] "camera.location" "site.name"       "rownum"          "Spring_day1"     "Spring_day10"    "Spring_day11"    "Spring_day12"   
 [8] "Spring_day2"     "Spring_day3"     "Spring_day4"     "Spring_day5"     "Spring_day6"     "Spring_day7"     "Spring_day8"    
[15] "Spring_day9"     "Summer_day1"     "Summer_day10"    "Summer_day11"    "Summer_day12"    "Summer_day2"     "Summer_day3"    
[22] "Summer_day4"     "Summer_day5"     "Summer_day6"     "Summer_day7"     "Summer_day8"     "Summer_day9"     "Winter_day1"    
[29] "Winter_day10"    "Winter_day11"    "Winter_day12"    "Winter_day2"     "Winter_day3"     "Winter_day4"     "Winter_day5"    
[36] "Winter_day6"     "Winter_day7"     "Winter_day8"     "Winter_day9"  

Brandon Hurr

unread,
Aug 18, 2016, 4:39:17 PM8/18/16
to Manuel Spínola, manipulatr
Are you sure that's what you want to do? Is the data a repeat or is it actual data? I'd be a bit careful here, but if you're happy then I'm happy. 
Reply all
Reply to author
Forward
0 new messages