Skip to content

Instantly share code, notes, and snippets.

@rubenarslan
Created June 12, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rubenarslan/b02d6fca3ec3f64b0e20 to your computer and use it in GitHub Desktop.
Save rubenarslan/b02d6fca3ec3f64b0e20 to your computer and use it in GitHub Desktop.
reproducible error with ifelse typing in dplyr
library(dplyr)
diary = structure(list(short_session = c("006935", "006935", "006935",
"006935", "006935", "006935", "006935", "006935", "006935", "006935",
"006935", "006935", "006935", "006935", "006935", "006935", "006935",
"006935", "006935", "006935", "006935", "006935", "006935", "006935",
"006935", "006935", "006935", "006935", "006935", "006935", "006935",
"006935", "006935", "006935", "006935", "006935", "006935", "006935",
"006935", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a",
"008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a",
"008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a",
"008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a",
"008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a",
"008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a", "008e1a",
"008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8",
"008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8",
"008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8",
"008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8",
"008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8",
"008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "008ee8", "00977a",
"00977a", "016147", "016147", "016147", "016147", "016147", "016147",
"016147", "016147", "016147", "016147", "016147", "016147", "016147",
"016147", "016147", "016b21", "016b21", "016b21", "016b21", "016b21",
"016b21", "016b21", "016b21", "016b21", "016b21", "016b21", "016b21",
"016b21", "016b21", "016b21", "016b21", "016b21", "016b21", "016b21",
"016b21", "016b21", "016b21", "016b21", "016b21", "016b21", "016b21",
"016b21", "016b21", "016b21", "016b21", "016b21", "01a1dd", "01a1dd",
"01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd",
"01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd",
"01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd",
"01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd",
"01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01a1dd", "01aea6",
"01aea6", "01aea6", "01aea6", "01aea6", "01aea6", "01aea6", "01aea6",
"01aea6", "01aea6", "01aea6", "01aea6", "01aea6", "01aea6", "01aea6",
"01aea6", "01aea6", "01aea6", "01aea6", "01aea6", "01aea6", "01aea6",
"01b730", "01b730", "01b730", "01b730", "01b730", "01b730", "01b730",
"01b730", "01b730", "01b730", "01b730", "01b730", "01b730", "01b730",
"01b730", "01b730", "01b730", "01b730", "01b730", "01b730", "01b730",
"01b730", "01b730", "01b730", "01b730", "01b730", "01b730", "01b730",
"01b730", "01b730", "01b730", "01b730", "01b730", "01b730", "01b730",
"01b730", "01b730", "01b730", "01b730", "01b730", "01b730", "01c277",
"01c277", "01c277", "01c277", "01c277", "01c277", "01c277", "01c277",
"01c277", "01c277", "01c277", "01c277", "01c277", "01c277", "01c277",
"01c277", "01c277", "01c277", "01c277", "01c277", "01c277", "01c277",
"01c277", "01c277", "01c277", "01c277", "01c277", "01c277", "01c277",
"01c277", "01c277", "01c277", "01f022", "01f022", "01f022", "01f022",
"01f022", "01f022", "01f022", "01f022", "01f022", "01f022", "01f022",
"01f022", "01f022", "01f022", "01f022", "01f022", "01f022", "01f022",
"01f022", "01f022", "01f022", "01f022", "01f022", "01f022", "01f022",
"01f022", "01f022", "01f022", "01f022", "01f022", "020f65", "020f65",
"020f65", "020f65", "020f65", "020f65", "020f65", "020f65", "020f65",
"020f65", "020f65", "020f65", "020f65", "02153c", "02153c", "02153c",
"02153c", "02153c", "02153c", "02153c", "02153c", "023f1e", "023f1e",
"023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e",
"023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e",
"023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e",
"023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e", "023f1e",
"02539d", "02539d", "02539d", "02539d", "02539d", "02539d", "02539d",
"02539d", "02539d", "02539d", "02539d", "02539d", "02539d", "02539d",
"02539d", "02539d", "02539d", "02539d", "02539d", "02539d", "02539d",
"02539d", "02539d", "02539d", "02539d", "02539d", "02539d", "02539d",
"02539d", "02539d", "02539d", "02539d", "02539d", "02b30a", "02b30a",
"02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a",
"02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a",
"02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a",
"02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a",
"02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "02b30a", "033d3e",
"033d3e", "033d3e", "033d3e", "033d3e", "038daf", "038daf", "038daf",
"038daf", "038daf", "038daf", "038daf", "038daf", "038daf", "038daf",
"038daf", "038daf", "038daf", "038daf", "038daf", "038daf", "038daf",
"038daf", "038daf", "038daf", "038daf", "038daf", "038daf", "038daf",
"038daf", "038daf", "038daf", "038daf", "038daf", "038daf", "03b458",
"03b458", "03b458", "03b458", "03b458", "03b458", "03b458", "03b458",
"03b458", "03b458", "03b458", "03b458", "03b458", "03b458", "03b458",
"03b458", "03b458", "03b458", "03b458", "03b458", "03b458", "03b458",
"03b458", "03b458", "03b458", "03b458", "03b458", "03b458", "03b458",
"03b458", "03b458", "03b458", "03b458", "03b458", "03b458", "03b458",
"03b458", "03b458", "03b458", "03b458", "03b458", "03b458", "03b458",
"03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55",
"03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55",
"03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55",
"03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55",
"03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55", "03cf55",
"03cf55", "03d4d2", "03d4d2", "03d4d2", "03d4d2", "03d4d2", "03d4d2",
"03d4d2", "05033e", "05033e", "05033e", "05033e", "05033e", "05033e",
"05033e", "05033e", "05033e", "05033e", "05033e", "05033e", "05033e",
"05033e", "05033e", "05033e", "05033e", "05033e", "05033e", "05033e",
"05033e", "05033e", "05033e", "05033e", "05033e", "05033e", "05033e",
"05033e", "05033e", "05033e", "0525b7", "0525b7", "0525b7", "0525b7",
"0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "0525b7",
"0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "0525b7",
"0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "0525b7",
"0525b7", "0525b7", "0525b7", "0525b7", "0525b7", "054f7b", "054f7b",
"054f7b", "054f7b", "054f7b", "054f7b", "054f7b", "054f7b", "054f7b",
"056f13", "056f13", "056f13", "056f13", "056f13", "056f13", "056f13",
"056f13", "056f13", "056f13", "056f13", "056f13", "056f13", "056f13",
"056f13", "056f13", "056f13", "056f13", "056f13", "056f13", "056f13",
"056f13", "056f13", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c",
"05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c",
"05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c",
"05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c",
"05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c",
"05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "05cc6c", "060127",
"060127", "060127", "060127", "060127", "060127", "060127", "060127",
"060127", "060127", "060127", "060127", "060127", "060127", "060127",
"060127", "060127", "060127", "060127", "060127", "060127", "060127",
"060127", "060127", "060127", "060127", "060127", "060127", "060127",
"060127", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3",
"0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3",
"0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3",
"0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3",
"0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0643a3",
"0643a3", "0643a3", "0643a3", "0643a3", "0643a3", "0659e0", "0659e0",
"0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0",
"0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0",
"0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0",
"0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0", "0659e0",
"0659e0", "0659e0", "0659e0", "0659e0", "06d8ad", "06d8ad", "06d8ad",
"06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad",
"06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad",
"06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad",
"06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad",
"06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad", "06d8ad",
"06d8ad", "06d8ad", "07450a", "07450a", "07450a", "07450a", "07450a",
"07450a", "075602", "075602", "075602", "075602", "07958b", "07958b",
"07958b", "07958b", "07958b", "07958b", "079a62", "079a62", "079a62",
"079a62", "079a62", "079a62", "079a62", "079a62", "079a62", "079a62",
"079a62", "079a62", "07c7c1", "07eb40", "07eb40", "07eb40", "07eb40",
"07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "07eb40",
"07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "07eb40",
"07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "07eb40",
"07eb40", "07eb40", "07eb40", "07eb40", "07eb40", "081001", "081001",
"081001", "081001", "081001", "081001", "081001", "081001", "081001",
"081001", "081001", "081001", "081001", "081001", "081001", "081001",
"081001", "081001", "081001", "081001", "081001", "081546", "081546",
"081546", "081546", "081546", "081546", "081546", "081546", "081546",
"081546", "081546", "081546", "081546", "081546", "081546", "081546",
"081546", "081546", "081546", "081546", "081546", "081546", "081546",
"081546", "081546", "081546", "081546", "081546", "081546", "081546",
"081546", "081546", "081546", "081546", "081546", "081546", "081546",
"081546", "081546", "085635", "085635", "085635", "085635", "085635",
"085635", "085635", "085635", "085635", "085635", "085635", "085635",
"085635", "085635", "085635", "085635", "085635", "085635", "085635",
"085635", "085635", "085635", "085635", "085635", "089377", "089377",
"089377", "089377", "089377", "089377", "089377", "089377", "089377",
"089377", "089377", "089377"), next_menstruation_gap = c(NA,
NA, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, NA, NA, NA, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA,
28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, 23, 0, 0, 0, 0, 0, 0, 0,
0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, 0, 0, 0, 0, NA, NA, NA, 29, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, 23, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, 0, NA,
NA, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, NA, NA, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
NA, NA, NA, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA,
0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA,
35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA,
NA, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, 0, 0, 0, 0, NA, NA, NA, NA, 37, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA,
0, 0, 0, 0, 0, NA, NA, NA, NA, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, NA, NA, NA, 28, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA,
NA, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, 0,
0, 0, 0, 0, 0, 0, NA, NA, NA, NA, 31, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA,
NA, NA, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 0, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA,
NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0, 0, 0,
0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, NA, NA, 27, 0, 0, 0, 0,
0, 0, 0, 0)), row.names = c(NA, 1000L), class = "data.frame", .Names = c("short_session",
"next_gap"))
diary %>% group_by(short_session) %>% mutate(
next_gap2 = ifelse(next_gap != 0, next_gap, NA_real_)
) %>% .["next_gap2"] %>% str()
#breaks, yielding
## Error: incompatible types, expecting a numeric vector
diary %>% group_by(short_session) %>% mutate(
next_gap2 = as.numeric(ifelse(next_gap != 0, next_gap, NA_real_))
) %>% .["next_gap2"] %>% str()
# explicit coercion works but should not be necessary
# I assume this is down to groups that turn all NA through the command, but the error message is not very helpful and I doubt this is ever
# the desired behaviour
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment