eagle23
eagle23

Reputation: 35

Gather (tidyr) dataset with R

I want to tidy and clean data.

Dataset from Facebook Insights looks like this:

Video_ID    Albania (AL)    Algeria (DZ)    Argentina (AR)
1   88  79  43
2   2   29  71
3   82  67  91
4   45  41  69
5   14  78  83
6   78  71  39
7   47  13  87

I tried but I got Video_ID in value column, and i want three columns, Video_ID, Location, Value.

tidydata <- gather(df, variable, value)

Upvotes: 1

Views: 74

Answers (2)

ekmz
ekmz

Reputation: 93

gather(df, key=Country, value, Albania:Argentina)

Upvotes: 0

Dan
Dan

Reputation: 12084

library(tidyverse)

df <- data.frame(Video_ID = 1:7, 
                 Albania_AL = runif(7), 
                 Algeri_DZ = runif(7), 
                 Argentina_AR = runif(7))

df %>% 
  gather(variable, value, -Video_ID)

gives,

   Video_ID     variable        value
1         1   Albania_AL 0.7452748199
2         2   Albania_AL 0.7189716343
3         3   Albania_AL 0.0009818899
4         4   Albania_AL 0.8767066500
5         5   Albania_AL 0.2557317731
6         6   Albania_AL 0.8500135003
7         7   Albania_AL 0.5381997849
8         1    Algeri_DZ 0.6354911723
9         2    Algeri_DZ 0.5642415853
10        3    Algeri_DZ 0.6899371936
11        4    Algeri_DZ 0.5935983881
12        5    Algeri_DZ 0.3544025272
13        6    Algeri_DZ 0.6228319844
14        7    Algeri_DZ 0.2387682097
15        1 Argentina_AR 0.0857397954
16        2 Argentina_AR 0.6284314466
17        3 Argentina_AR 0.2281501831
18        4 Argentina_AR 0.6316785756
19        5 Argentina_AR 0.5259507103
20        6 Argentina_AR 0.8145632301
21        7 Argentina_AR 0.0400777052

Upvotes: 1

Related Questions