Import your data

data <- read_csv("../00_data/MKmyData1.csv")
## Rows: 101 Columns: 17
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (8): id.on.tag, animal.name, scientific.name, tag.deployment.start, tag....
## dbl (5): Column1, prey.per.month, hours.indoor.per.day, cats.in.house, age
## lgl (4): hunt, dry.food, wet.food, other.food
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data
## # A tibble: 101 × 17
##    Column1 id.on.tag    animal.name scientific.name tag.deployment.start
##      <dbl> <chr>        <chr>       <chr>           <chr>               
##  1       1 Tommy-Tag    Tommy       Felis catus     6/3/17 1:02         
##  2       2 Athena       Athena      Felis catus     6/24/17 1:02        
##  3       3 Ares         Ares        Felis catus     6/24/17 1:03        
##  4       4 Lola         Lola        Felis catus     6/24/17 1:18        
##  5       5 Maverick     Maverick    Felis catus     6/25/17 1:04        
##  6       6 Coco         Coco        Felis catus     6/28/17 1:02        
##  7       7 Charlie      Charlie     Felis catus     6/28/17 1:03        
##  8       8 Jago         Jago        Felis catus     6/28/17 4:10        
##  9       9 Morpheus-Tag Morpheus    Felis catus     7/1/17 1:02         
## 10      10 Nettle-Tag   Nettle      Felis catus     7/1/17 1:05         
## # ℹ 91 more rows
## # ℹ 12 more variables: tag.deployment.end <chr>, hunt <lgl>,
## #   prey.per.month <dbl>, reproductive.condition <chr>, sex <chr>,
## #   hours.indoor.per.day <dbl>, cats.in.house <dbl>, dry.food <lgl>,
## #   wet.food <lgl>, other.food <lgl>, study.location <chr>, age <dbl>
MKmyData1_small <- data %>%
    
    select(animal.name, prey.per.month, hours.indoor.per.day) %>%
    filter(animal.name %in% c("Tommy", "Athena", "Ares", "Lola", "Maverick", "Coco", "Charlie", "Jago", "Morpheus", "Nettle"))

Pivoting

MKmyData1_small %>% 
    
    pivot_wider(names_from = prey.per.month, values_from = hours.indoor.per.day)
## # A tibble: 10 × 6
##    animal.name `12.5`   `3`   `0` `17.5` `7.5`
##    <chr>        <dbl> <dbl> <dbl>  <dbl> <dbl>
##  1 Tommy         12.5  NA    NA     NA    NA  
##  2 Athena        NA     7.5  NA     NA    NA  
##  3 Ares          NA    NA     7.5   NA    NA  
##  4 Lola          NA    17.5  NA     NA    NA  
##  5 Maverick      NA    12.5  NA     NA    NA  
##  6 Coco          NA    12.5  NA     NA    NA  
##  7 Charlie       NA    12.5  NA     NA    NA  
##  8 Jago          NA    NA    NA      7.5  NA  
##  9 Morpheus      NA     2.5  NA     NA    NA  
## 10 Nettle        NA    NA    NA     NA    12.5
MKmyData1_small_unique <- MKmyData1_small %>% slice(-10)

MKmyData1_small_unique %>%
    
    pivot_wider(names_from = prey.per.month, values_from = hours.indoor.per.day)
## # A tibble: 9 × 5
##   animal.name `12.5`   `3`   `0` `17.5`
##   <chr>        <dbl> <dbl> <dbl>  <dbl>
## 1 Tommy         12.5  NA    NA     NA  
## 2 Athena        NA     7.5  NA     NA  
## 3 Ares          NA    NA     7.5   NA  
## 4 Lola          NA    17.5  NA     NA  
## 5 Maverick      NA    12.5  NA     NA  
## 6 Coco          NA    12.5  NA     NA  
## 7 Charlie       NA    12.5  NA     NA  
## 8 Jago          NA    NA    NA      7.5
## 9 Morpheus      NA     2.5  NA     NA

long to wide form

MKmyData1_wide <- MKmyData1_small %>%
    
    pivot_wider(names_from = prey.per.month, values_from = hours.indoor.per.day)
MKmyData1_wide
## # A tibble: 10 × 6
##    animal.name `12.5`   `3`   `0` `17.5` `7.5`
##    <chr>        <dbl> <dbl> <dbl>  <dbl> <dbl>
##  1 Tommy         12.5  NA    NA     NA    NA  
##  2 Athena        NA     7.5  NA     NA    NA  
##  3 Ares          NA    NA     7.5   NA    NA  
##  4 Lola          NA    17.5  NA     NA    NA  
##  5 Maverick      NA    12.5  NA     NA    NA  
##  6 Coco          NA    12.5  NA     NA    NA  
##  7 Charlie       NA    12.5  NA     NA    NA  
##  8 Jago          NA    NA    NA      7.5  NA  
##  9 Morpheus      NA     2.5  NA     NA    NA  
## 10 Nettle        NA    NA    NA     NA    12.5

wide to long form

MKmyData1_wide %>%
    
    pivot_longer(`3`:`17.5`, names_to = "prey.per.month", values_to = "hours.indoor.per.day", values_drop_na = TRUE)
## # A tibble: 8 × 5
##   animal.name `12.5` `7.5` prey.per.month hours.indoor.per.day
##   <chr>        <dbl> <dbl> <chr>                         <dbl>
## 1 Athena          NA    NA 3                               7.5
## 2 Ares            NA    NA 0                               7.5
## 3 Lola            NA    NA 3                              17.5
## 4 Maverick        NA    NA 3                              12.5
## 5 Coco            NA    NA 3                              12.5
## 6 Charlie         NA    NA 3                              12.5
## 7 Jago            NA    NA 17.5                            7.5
## 8 Morpheus        NA    NA 3                               2.5

Separating and Uniting

Unite two columns

MKmyData_united <- data %>%
    
    unite(col = "newName", hours.indoor.per.day:cats.in.house, sep = "/", remove = TRUE)

Seperate a column

MKmyData_united %>%
    
    separate(col = newName, into = c("hours.indoor.per.day", "cats.in.house"), sep = "/")
## # A tibble: 101 × 17
##    Column1 id.on.tag    animal.name scientific.name tag.deployment.start
##      <dbl> <chr>        <chr>       <chr>           <chr>               
##  1       1 Tommy-Tag    Tommy       Felis catus     6/3/17 1:02         
##  2       2 Athena       Athena      Felis catus     6/24/17 1:02        
##  3       3 Ares         Ares        Felis catus     6/24/17 1:03        
##  4       4 Lola         Lola        Felis catus     6/24/17 1:18        
##  5       5 Maverick     Maverick    Felis catus     6/25/17 1:04        
##  6       6 Coco         Coco        Felis catus     6/28/17 1:02        
##  7       7 Charlie      Charlie     Felis catus     6/28/17 1:03        
##  8       8 Jago         Jago        Felis catus     6/28/17 4:10        
##  9       9 Morpheus-Tag Morpheus    Felis catus     7/1/17 1:02         
## 10      10 Nettle-Tag   Nettle      Felis catus     7/1/17 1:05         
## # ℹ 91 more rows
## # ℹ 12 more variables: tag.deployment.end <chr>, hunt <lgl>,
## #   prey.per.month <dbl>, reproductive.condition <chr>, sex <chr>,
## #   hours.indoor.per.day <chr>, cats.in.house <chr>, dry.food <lgl>,
## #   wet.food <lgl>, other.food <lgl>, study.location <chr>, age <dbl>

Missing Values