Thanks for all. Here is output from dput. I used a different dataset
containing categorical variables since the previous one is on a different
computer.
In the following dataset, my interest is in getting frequencies and
barplots for the two variables: Training and Dance, with value labels
displayed.
thanks again - cY
========dput(head(CatsDogs, n = 10))
structure(
list(
Animal = structure(
c(0, 0, 0, 0, 0, 0, 0, 0, 0,
0),
label = "Animal",
labels = c(Cat = 0, Dog = 1),
class = "haven_labelled"
),
Training = structure(
c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
label = "Type of Training",
labels = c(`Food as Reward` = 0,
`Affection as Reward` = 1),
class = "haven_labelled"
),
Dance = structure(
c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1),
label = "Did they dance?",
labels = c(No = 0,
Yes = 1),
class = "haven_labelled"
)
),
row.names = c(NA,-10L),
class = c("tbl_df", "tbl", "data.frame")
)
On Fri, Feb 7, 2020 at 10:14 PM Bert Gunter <bgunter.4567 at gmail.com>
wrote:
> Yes. Most attachments are stripped by the server.
>
> Bert Gunter
>
> "The trouble with having an open mind is that people keep coming along
and
> sticking things into it."
> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip
)
>
>
> On Fri, Feb 7, 2020 at 5:34 PM John Kane <jrkrideau at gmail.com>
wrote:
>
>> Hi,
>> Could you upload some sample data in dput form? Something like
>> dput(head(Scratch, n=13)) will give us some real data to examine. Just
>> copy
>> and paste the output of dput(head(Scratch, n=13))into the email. This
is
>> the best way to ensure that R-help denizens are getting the data in the
>> exact format that you have.
>>
>> On Fri, 7 Feb 2020 at 15:32, Yawo Kokuvi <yawo1964 at gmail.com>
wrote:
>>
>> > Thanks for all your assistance
>> >
>> > Attached please is the Rdata scratch I have been using
>> >
>> > -----------------------------------------------------
>> >
>> > > head(Scratch, n=13)
>> > # A tibble: 13 x 6
>> > ID marital sex race paeduc
speduc
>> > <dbl> <dbl+lbl> <dbl+lbl>
<dbl+lbl> <dbl+lbl> <dbl+lbl>
>> > 1 1 3 [DIVORCED] 1 [MALE] 1 [WHITE] NA
NA
>> > 2 2 1 [MARRIED] 1 [MALE] 1 [WHITE] NA
NA
>> > 3 3 3 [DIVORCED] 1 [MALE] 1 [WHITE] 4
NA
>> > 4 4 4 [SEPARATED] 1 [MALE] 1 [WHITE] 16
NA
>> > 5 5 3 [DIVORCED] 1 [MALE] 1 [WHITE] 18
NA
>> > 6 6 1 [MARRIED] 2 [FEMALE] 1 [WHITE] 14
20
>> > 7 7 1 [MARRIED] 2 [FEMALE] 2 [BLACK] NA
12
>> > 8 8 1 [MARRIED] 2 [FEMALE] 1 [WHITE] NA
12
>> > 9 9 3 [DIVORCED] 2 [FEMALE] 1 [WHITE] 11
NA
>> > 10 10 1 [MARRIED] 2 [FEMALE] 1 [WHITE] 16
12
>> > 11 11 5 [NEVER MARRIED] 2 [FEMALE] 2 [BLACK] NA
NA
>> > 12 12 3 [DIVORCED] 2 [FEMALE] 2 [BLACK] NA
NA
>> > 13 13 3 [DIVORCED] 2 [FEMALE] 2 [BLACK] 16
NA
>> >
>> > -----------------------------------------------------
>> >
>> > and below is my script/command file.
>> >
>> > *#1: Load library and import SPSS dataset*
>> > library(haven)
>> > Scratch <- read_sav("~/Desktop/Scratch.sav")
>> >
>> > *#2: save the dataset with a name*
>> > save(ScratchImport, file="Scratch.Rdata")
>> >
>> > *#3: install & load necessary packages for descriptive
statistics*
>> > install.packages ("freqdist")
>> > library (freqdist)
>> >
>> > install.packages ("sjlabelled")
>> > library (sjlabelled)
>> >
>> > install.packages ("labelled")
>> > library (labelled)
>> >
>> > install.packages ("surveytoolbox")
>> > library (surveytoolbox)
>> >
>> > *#4: Check the value labels of gender and marital status*
>> > Scratch$sex %>% attr('labels')
>> > Scratch$marital %>% attr('labels')
>> >
>> > *#5: Frequency Distribution and BarChart for Categorical/Ordinal
Level
>> > Variables such as Gender - SEX*
>> > freqdist(Scratch$sex)
>> > barplot(table(Scratch$marital))
>> >
>> > -----------------------------------------------------
>> >
>> > As you can see from above, I use the <haven> package to
import the data
>> > from SPSS. Apparently, the haven function keeps the value labels,
as
>> the
>> > attribute options in section #4 of my script shows.
>> > The problem is that when I run frequency distribution for any of
the
>> > categorical variables like sex or marital status, only the numbers
(1,
>> 2,)
>> > are displayed in the output. The labels (male, female) for
example are
>> > not.
>> >
>> > Is there any way to force these to be shown in the output? Is
there a
>> > global property that I have to set so that these value labels are
>> reliably
>> > displayed with every output? I read I can declare them as factors
using
>> > the <as_factor()>, but once I do so, how do I invoke them in
my
>> commands so
>> > that the value labels show...
>> >
>> > Sorry about all the noobs questions, but Ihopefully, I am able to
get
>> this
>> > working.
>> >
>> > Thanks in advance.
>> >
>> >
>> > Thanks - cY
>> >
>> >
>> > On Fri, Feb 7, 2020 at 1:14 PM <cpolwart at chemo.org.uk>
wrote:
>> >
>> > > I've never used it, but there is a labels function in
haven...
>> > >
>> > > On 7 Feb 2020 17:05, Bert Gunter <bgunter.4567 at
gmail.com> wrote:
>> > >
>> > > What does your data look like after importing? -- see ?head
and ?str
>> to
>> > > tell us. Show us the code that failed to provide
"labels." See the
>> > posting
>> > > guide below for how to post questions that are likely to
elicit
>> helpful
>> > > responses.
>> > >
>> > > I know nothing about the haven package, but see ?factor or go
through
>> an
>> > R
>> > > tutorial or two to learn about factors, which may be part of
the issue
>> > > here. R *generally* obtains whatever "label" info
it needs from the
>> > object
>> > > being tabled -- see ?tabulate, ?table etc. -- if that's
what you're
>> > doing.
>> > >
>> > > Bert Gunter
>> > >
>> > > "The trouble with having an open mind is that people
keep coming along
>> > and
>> > > sticking things into it."
>> > > -- Opus (aka Berkeley Breathed in his "Bloom
County" comic strip )
>> > >
>> > >
>> > > On Fri, Feb 7, 2020 at 8:28 AM Yawo Kokuvi <yawo1964 at
gmail.com>
>> wrote:
>> > >
>> > > > Hello,
>> > > >
>> > > > I am just transitioning from SPSS to R.
>> > > >
>> > > > I used the haven library to import some of my spss data
files to R.
>> > > >
>> > > > However, when I run procedures such as frequencies or
crosstabs,
>> value
>> > > > labels for categorical variables such as gender (1=male,
2=female)
>> are
>> > > not
>> > > > shown. The same applies to many other output.
>> > > >
>> > > > I am confused.
>> > > >
>> > > > 1. Is there a global setting that I can use to force all
categorical
>> > > > variables to display labels?
>> > > >
>> > > > 2. Or, are these labels to be set for each function or
package?
>> > > >
>> > > > 3. How can I request the value labels for each function
I run?
>> > > >
>> > > > Thanks in advance for your help..
>> > > >
>> > > > Best, Yawo
>> > > >
>> > > > [[alternative HTML version deleted]]
>> > > >
>> > > > ______________________________________________
>> > > > R-help at r-project.org mailing list -- To UNSUBSCRIBE
and more, see
>> > > > https://stat.ethz.ch/mailman/listinfo/r-help
>> > > > PLEASE do read the posting guide
>> > > > http://www.R-project.org/posting-guide.html
>> > > > and provide commented, minimal, self-contained,
reproducible code.
>> > > >
>> > >
>> > > [[alternative HTML version deleted]]
>> > >
>> > > ______________________________________________
>> > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
>> > > https://stat.ethz.ch/mailman/listinfo/r-help
>> > > PLEASE do read the posting guide
>> > > http://www.R-project.org/posting-guide.html
>> > > and provide commented, minimal, self-contained, reproducible
code.
>> > >
>> > >
>> > >
>> >
>> > [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more,
see
>> > https://stat.ethz.ch/mailman/listinfo/r-help
>> > PLEASE do read the posting guide
>> > http://www.R-project.org/posting-guide.html
>> > and provide commented, minimal, self-contained, reproducible code.
>> >
>>
>>
>> --
>> John Kane
>> Kingston ON Canada
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
[[alternative HTML version deleted]]
Dear Yawo, I would suggest that you learn to use R, rather than thrashing around blindly and expecting or hoping to get others to do your work for you. To get you started, the characteristics that you call "labels" are stored as *attributes* of the columns of your tibble/data frame. E.g. X$Animal prints as> [1] 0 0 0 0 0 0 0 0 0 0 > attr(,"label") > [1] "Animal" > attr(,"labels") > Cat Dog > 0 1 > attr(,"class") > [1] "haven_labelled"(where "X" is the head of CatsDogs that you dput()-ed and sent to the list.) I would start by doing something like CatsDogs$Animal <- factor(CatsDogs$Animal,levels=c(0,1), labels=c("Cat","Dog")) and similarly for the other columns. When you have learnt a bit about R, doing your frequency tabulations and barplots will then be easy. cheers, Rolf Turner On 8/02/20 7:03 pm, Yawo Kokuvi wrote:> Thanks for all. Here is output from dput. I used a different dataset > containing categorical variables since the previous one is on a different > computer. > > In the following dataset, my interest is in getting frequencies and > barplots for the two variables: Training and Dance, with value labels > displayed. > > thanks again - cY > > > ========> dput(head(CatsDogs, n = 10)) > structure( > list( > Animal = structure( > c(0, 0, 0, 0, 0, 0, 0, 0, 0, > 0), > label = "Animal", > labels = c(Cat = 0, Dog = 1), > class = "haven_labelled" > ), > Training = structure( > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), > label = "Type of Training", > labels = c(`Food as Reward` = 0, > `Affection as Reward` = 1), > class = "haven_labelled" > ), > Dance = structure( > c(1, > 1, 1, 1, 1, 1, 1, 1, 1, 1), > label = "Did they dance?", > labels = c(No = 0, > Yes = 1), > class = "haven_labelled" > ) > ), > row.names = c(NA,-10L), > class = c("tbl_df", "tbl", "data.frame") > )<SNIP>
Hello,
Try
aux_fun <- function(x){
levels <- attr(x, "labels")
factor(x, labels = names(levels), levels = levels)
}
newCatsDogs <- as.data.frame(lapply(CatsDogs, aux_fun))
str(newCatsDogs)
#'data.frame': 10 obs. of 3 variables:
# $ Animal : Factor w/ 2 levels "Cat","Dog": 1 1 1 1 1 1 1
1 1 1
# $ Training: Factor w/ 2 levels "Food as Reward",..: 1 1 1 1 1 1 1 1
1 1
# $ Dance : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 2 2 2
2 2
As for the
- frequencies: ?table, ?tapply, ?aggregate,
- barplots: ?barplot
You can find lots and lots of examples online of both covering what
seems to simple use cases.
Hope this helps,
Rui Barradas
?s 06:03 de 08/02/20, Yawo Kokuvi escreveu:> Thanks for all. Here is output from dput. I used a different dataset
> containing categorical variables since the previous one is on a different
> computer.
>
> In the following dataset, my interest is in getting frequencies and
> barplots for the two variables: Training and Dance, with value labels
> displayed.
>
> thanks again - cY
>
>
> ========> dput(head(CatsDogs, n = 10))
> structure(
> list(
> Animal = structure(
> c(0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0),
> label = "Animal",
> labels = c(Cat = 0, Dog = 1),
> class = "haven_labelled"
> ),
> Training = structure(
> c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
> label = "Type of Training",
> labels = c(`Food as Reward` = 0,
> `Affection as Reward` = 1),
> class = "haven_labelled"
> ),
> Dance = structure(
> c(1,
> 1, 1, 1, 1, 1, 1, 1, 1, 1),
> label = "Did they dance?",
> labels = c(No = 0,
> Yes = 1),
> class = "haven_labelled"
> )
> ),
> row.names = c(NA,-10L),
> class = c("tbl_df", "tbl", "data.frame")
> )
>
>
> On Fri, Feb 7, 2020 at 10:14 PM Bert Gunter <bgunter.4567 at
gmail.com> wrote:
>
>> Yes. Most attachments are stripped by the server.
>>
>> Bert Gunter
>>
>> "The trouble with having an open mind is that people keep coming
along and
>> sticking things into it."
>> -- Opus (aka Berkeley Breathed in his "Bloom County" comic
strip )
>>
>>
>> On Fri, Feb 7, 2020 at 5:34 PM John Kane <jrkrideau at gmail.com>
wrote:
>>
>>> Hi,
>>> Could you upload some sample data in dput form? Something like
>>> dput(head(Scratch, n=13)) will give us some real data to examine.
Just
>>> copy
>>> and paste the output of dput(head(Scratch, n=13))into the email.
This is
>>> the best way to ensure that R-help denizens are getting the data in
the
>>> exact format that you have.
>>>
>>> On Fri, 7 Feb 2020 at 15:32, Yawo Kokuvi <yawo1964 at
gmail.com> wrote:
>>>
>>>> Thanks for all your assistance
>>>>
>>>> Attached please is the Rdata scratch I have been using
>>>>
>>>> -----------------------------------------------------
>>>>
>>>>> head(Scratch, n=13)
>>>> # A tibble: 13 x 6
>>>> ID marital sex race paeduc
speduc
>>>> <dbl> <dbl+lbl> <dbl+lbl>
<dbl+lbl> <dbl+lbl> <dbl+lbl>
>>>> 1 1 3 [DIVORCED] 1 [MALE] 1 [WHITE] NA
NA
>>>> 2 2 1 [MARRIED] 1 [MALE] 1 [WHITE] NA
NA
>>>> 3 3 3 [DIVORCED] 1 [MALE] 1 [WHITE] 4
NA
>>>> 4 4 4 [SEPARATED] 1 [MALE] 1 [WHITE] 16
NA
>>>> 5 5 3 [DIVORCED] 1 [MALE] 1 [WHITE] 18
NA
>>>> 6 6 1 [MARRIED] 2 [FEMALE] 1 [WHITE] 14
20
>>>> 7 7 1 [MARRIED] 2 [FEMALE] 2 [BLACK] NA
12
>>>> 8 8 1 [MARRIED] 2 [FEMALE] 1 [WHITE] NA
12
>>>> 9 9 3 [DIVORCED] 2 [FEMALE] 1 [WHITE] 11
NA
>>>> 10 10 1 [MARRIED] 2 [FEMALE] 1 [WHITE] 16
12
>>>> 11 11 5 [NEVER MARRIED] 2 [FEMALE] 2 [BLACK] NA
NA
>>>> 12 12 3 [DIVORCED] 2 [FEMALE] 2 [BLACK] NA
NA
>>>> 13 13 3 [DIVORCED] 2 [FEMALE] 2 [BLACK] 16
NA
>>>>
>>>> -----------------------------------------------------
>>>>
>>>> and below is my script/command file.
>>>>
>>>> *#1: Load library and import SPSS dataset*
>>>> library(haven)
>>>> Scratch <- read_sav("~/Desktop/Scratch.sav")
>>>>
>>>> *#2: save the dataset with a name*
>>>> save(ScratchImport, file="Scratch.Rdata")
>>>>
>>>> *#3: install & load necessary packages for descriptive
statistics*
>>>> install.packages ("freqdist")
>>>> library (freqdist)
>>>>
>>>> install.packages ("sjlabelled")
>>>> library (sjlabelled)
>>>>
>>>> install.packages ("labelled")
>>>> library (labelled)
>>>>
>>>> install.packages ("surveytoolbox")
>>>> library (surveytoolbox)
>>>>
>>>> *#4: Check the value labels of gender and marital status*
>>>> Scratch$sex %>% attr('labels')
>>>> Scratch$marital %>% attr('labels')
>>>>
>>>> *#5: Frequency Distribution and BarChart for
Categorical/Ordinal Level
>>>> Variables such as Gender - SEX*
>>>> freqdist(Scratch$sex)
>>>> barplot(table(Scratch$marital))
>>>>
>>>> -----------------------------------------------------
>>>>
>>>> As you can see from above, I use the <haven> package to
import the data
>>>> from SPSS. Apparently, the haven function keeps the value
labels, as
>>> the
>>>> attribute options in section #4 of my script shows.
>>>> The problem is that when I run frequency distribution for any
of the
>>>> categorical variables like sex or marital status, only the
numbers (1,
>>> 2,)
>>>> are displayed in the output. The labels (male, female) for
example are
>>>> not.
>>>>
>>>> Is there any way to force these to be shown in the output? Is
there a
>>>> global property that I have to set so that these value labels
are
>>> reliably
>>>> displayed with every output? I read I can declare them as
factors using
>>>> the <as_factor()>, but once I do so, how do I invoke them
in my
>>> commands so
>>>> that the value labels show...
>>>>
>>>> Sorry about all the noobs questions, but Ihopefully, I am able
to get
>>> this
>>>> working.
>>>>
>>>> Thanks in advance.
>>>>
>>>>
>>>> Thanks - cY
>>>>
>>>>
>>>> On Fri, Feb 7, 2020 at 1:14 PM <cpolwart at chemo.org.uk>
wrote:
>>>>
>>>>> I've never used it, but there is a labels function in
haven...
>>>>>
>>>>> On 7 Feb 2020 17:05, Bert Gunter <bgunter.4567 at
gmail.com> wrote:
>>>>>
>>>>> What does your data look like after importing? -- see ?head
and ?str
>>> to
>>>>> tell us. Show us the code that failed to provide
"labels." See the
>>>> posting
>>>>> guide below for how to post questions that are likely to
elicit
>>> helpful
>>>>> responses.
>>>>>
>>>>> I know nothing about the haven package, but see ?factor or
go through
>>> an
>>>> R
>>>>> tutorial or two to learn about factors, which may be part
of the issue
>>>>> here. R *generally* obtains whatever "label" info
it needs from the
>>>> object
>>>>> being tabled -- see ?tabulate, ?table etc. -- if that's
what you're
>>>> doing.
>>>>>
>>>>> Bert Gunter
>>>>>
>>>>> "The trouble with having an open mind is that people
keep coming along
>>>> and
>>>>> sticking things into it."
>>>>> -- Opus (aka Berkeley Breathed in his "Bloom
County" comic strip )
>>>>>
>>>>>
>>>>> On Fri, Feb 7, 2020 at 8:28 AM Yawo Kokuvi <yawo1964 at
gmail.com>
>>> wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I am just transitioning from SPSS to R.
>>>>>>
>>>>>> I used the haven library to import some of my spss data
files to R.
>>>>>>
>>>>>> However, when I run procedures such as frequencies or
crosstabs,
>>> value
>>>>>> labels for categorical variables such as gender
(1=male, 2=female)
>>> are
>>>>> not
>>>>>> shown. The same applies to many other output.
>>>>>>
>>>>>> I am confused.
>>>>>>
>>>>>> 1. Is there a global setting that I can use to force
all categorical
>>>>>> variables to display labels?
>>>>>>
>>>>>> 2. Or, are these labels to be set for each function or
package?
>>>>>>
>>>>>> 3. How can I request the value labels for each function
I run?
>>>>>>
>>>>>> Thanks in advance for your help..
>>>>>>
>>>>>> Best, Yawo
>>>>>>
>>>>>> [[alternative HTML version deleted]]
>>>>>>
>>>>>> ______________________________________________
>>>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE
and more, see
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>> PLEASE do read the posting guide
>>>>>> http://www.R-project.org/posting-guide.html
>>>>>> and provide commented, minimal, self-contained,
reproducible code.
>>>>>>
>>>>>
>>>>> [[alternative HTML version deleted]]
>>>>>
>>>>> ______________________________________________
>>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>> PLEASE do read the posting guide
>>>>> http://www.R-project.org/posting-guide.html
>>>>> and provide commented, minimal, self-contained,
reproducible code.
>>>>>
>>>>>
>>>>>
>>>>
>>>> [[alternative HTML version deleted]]
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible
code.
>>>>
>>>
>>>
>>> --
>>> John Kane
>>> Kingston ON Canada
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more,
see
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
Hi Yawo Kokuvi;
As an R newbie transitioning from SPSS to R expect culture shock and the
possible feeling that yor brain is twisting within your skull but it is
well worth.
Try something like this:
##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dat1 <- structure(list(Animal = structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0,
0), label = "Animal", labels = c(Cat = 0, Dog = 1), class
"haven_labelled"),
Training = structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), label = "Type of
Training", labels = c(`Food as Reward` = 0,
`Affection as Reward` = 1), class = "haven_labelled"), Dance
structure(c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1), label = "Did they dance?", labels =
c(No 0,
Yes = 1), class = "haven_labelled")), row.names = c(NA, -10L
), class = c("tbl_df", "tbl", "data.frame"))
library(sjlabelled)
str(dat1)
get_labels(dat1)
barplot(table(as_label(dat1$Dance)))
##=================================================================Your problem
sees to be omitting the as_label().
You do not need to load "haven"
read_spss() in sjlabelled should do the trick.
On Sat, 8 Feb 2020 at 05:44, Rui Barradas <ruipbarradas at sapo.pt> wrote:
> Hello,
>
> Try
>
> aux_fun <- function(x){
> levels <- attr(x, "labels")
> factor(x, labels = names(levels), levels = levels)
> }
>
> newCatsDogs <- as.data.frame(lapply(CatsDogs, aux_fun))
>
> str(newCatsDogs)
> #'data.frame': 10 obs. of 3 variables:
> # $ Animal : Factor w/ 2 levels "Cat","Dog": 1 1 1 1 1
1 1 1 1 1
> # $ Training: Factor w/ 2 levels "Food as Reward",..: 1 1 1 1 1 1
1 1 1 1
> # $ Dance : Factor w/ 2 levels "No","Yes": 2 2 2 2 2
2 2 2 2 2
>
>
> As for the
> - frequencies: ?table, ?tapply, ?aggregate,
> - barplots: ?barplot
>
> You can find lots and lots of examples online of both covering what
> seems to simple use cases.
>
> Hope this helps,
>
> Rui Barradas
>
> ?s 06:03 de 08/02/20, Yawo Kokuvi escreveu:
> > Thanks for all. Here is output from dput. I used a different dataset
> > containing categorical variables since the previous one is on a
different
> > computer.
> >
> > In the following dataset, my interest is in getting frequencies and
> > barplots for the two variables: Training and Dance, with value labels
> > displayed.
> >
> > thanks again - cY
> >
> >
> > ========> > dput(head(CatsDogs, n = 10))
> > structure(
> > list(
> > Animal = structure(
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0,
> > 0),
> > label = "Animal",
> > labels = c(Cat = 0, Dog = 1),
> > class = "haven_labelled"
> > ),
> > Training = structure(
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
> > label = "Type of Training",
> > labels = c(`Food as Reward` = 0,
> > `Affection as Reward` = 1),
> > class = "haven_labelled"
> > ),
> > Dance = structure(
> > c(1,
> > 1, 1, 1, 1, 1, 1, 1, 1, 1),
> > label = "Did they dance?",
> > labels = c(No = 0,
> > Yes = 1),
> > class = "haven_labelled"
> > )
> > ),
> > row.names = c(NA,-10L),
> > class = c("tbl_df", "tbl",
"data.frame")
> > )
> >
> >
> > On Fri, Feb 7, 2020 at 10:14 PM Bert Gunter <bgunter.4567 at
gmail.com>
> wrote:
> >
> >> Yes. Most attachments are stripped by the server.
> >>
> >> Bert Gunter
> >>
> >> "The trouble with having an open mind is that people keep
coming along
> and
> >> sticking things into it."
> >> -- Opus (aka Berkeley Breathed in his "Bloom County"
comic strip )
> >>
> >>
> >> On Fri, Feb 7, 2020 at 5:34 PM John Kane <jrkrideau at
gmail.com> wrote:
> >>
> >>> Hi,
> >>> Could you upload some sample data in dput form? Something
like
> >>> dput(head(Scratch, n=13)) will give us some real data to
examine. Just
> >>> copy
> >>> and paste the output of dput(head(Scratch, n=13))into the
email. This
> is
> >>> the best way to ensure that R-help denizens are getting the
data in the
> >>> exact format that you have.
> >>>
> >>> On Fri, 7 Feb 2020 at 15:32, Yawo Kokuvi <yawo1964 at
gmail.com> wrote:
> >>>
> >>>> Thanks for all your assistance
> >>>>
> >>>> Attached please is the Rdata scratch I have been using
> >>>>
> >>>> -----------------------------------------------------
> >>>>
> >>>>> head(Scratch, n=13)
> >>>> # A tibble: 13 x 6
> >>>> ID marital sex race paeduc
speduc
> >>>> <dbl> <dbl+lbl> <dbl+lbl>
<dbl+lbl> <dbl+lbl> <dbl+lbl>
> >>>> 1 1 3 [DIVORCED] 1 [MALE] 1 [WHITE] NA
NA
> >>>> 2 2 1 [MARRIED] 1 [MALE] 1 [WHITE] NA
NA
> >>>> 3 3 3 [DIVORCED] 1 [MALE] 1 [WHITE] 4
NA
> >>>> 4 4 4 [SEPARATED] 1 [MALE] 1 [WHITE] 16
NA
> >>>> 5 5 3 [DIVORCED] 1 [MALE] 1 [WHITE] 18
NA
> >>>> 6 6 1 [MARRIED] 2 [FEMALE] 1 [WHITE] 14
20
> >>>> 7 7 1 [MARRIED] 2 [FEMALE] 2 [BLACK] NA
12
> >>>> 8 8 1 [MARRIED] 2 [FEMALE] 1 [WHITE] NA
12
> >>>> 9 9 3 [DIVORCED] 2 [FEMALE] 1 [WHITE] 11
NA
> >>>> 10 10 1 [MARRIED] 2 [FEMALE] 1 [WHITE] 16
12
> >>>> 11 11 5 [NEVER MARRIED] 2 [FEMALE] 2 [BLACK] NA
NA
> >>>> 12 12 3 [DIVORCED] 2 [FEMALE] 2 [BLACK] NA
NA
> >>>> 13 13 3 [DIVORCED] 2 [FEMALE] 2 [BLACK] 16
NA
> >>>>
> >>>> -----------------------------------------------------
> >>>>
> >>>> and below is my script/command file.
> >>>>
> >>>> *#1: Load library and import SPSS dataset*
> >>>> library(haven)
> >>>> Scratch <- read_sav("~/Desktop/Scratch.sav")
> >>>>
> >>>> *#2: save the dataset with a name*
> >>>> save(ScratchImport, file="Scratch.Rdata")
> >>>>
> >>>> *#3: install & load necessary packages for descriptive
statistics*
> >>>> install.packages ("freqdist")
> >>>> library (freqdist)
> >>>>
> >>>> install.packages ("sjlabelled")
> >>>> library (sjlabelled)
> >>>>
> >>>> install.packages ("labelled")
> >>>> library (labelled)
> >>>>
> >>>> install.packages ("surveytoolbox")
> >>>> library (surveytoolbox)
> >>>>
> >>>> *#4: Check the value labels of gender and marital status*
> >>>> Scratch$sex %>% attr('labels')
> >>>> Scratch$marital %>% attr('labels')
> >>>>
> >>>> *#5: Frequency Distribution and BarChart for
Categorical/Ordinal
> Level
> >>>> Variables such as Gender - SEX*
> >>>> freqdist(Scratch$sex)
> >>>> barplot(table(Scratch$marital))
> >>>>
> >>>> -----------------------------------------------------
> >>>>
> >>>> As you can see from above, I use the <haven> package
to import the
> data
> >>>> from SPSS. Apparently, the haven function keeps the value
labels, as
> >>> the
> >>>> attribute options in section #4 of my script shows.
> >>>> The problem is that when I run frequency distribution for
any of the
> >>>> categorical variables like sex or marital status, only the
numbers (1,
> >>> 2,)
> >>>> are displayed in the output. The labels (male, female)
for example
> are
> >>>> not.
> >>>>
> >>>> Is there any way to force these to be shown in the output?
Is there a
> >>>> global property that I have to set so that these value
labels are
> >>> reliably
> >>>> displayed with every output? I read I can declare them as
factors
> using
> >>>> the <as_factor()>, but once I do so, how do I invoke
them in my
> >>> commands so
> >>>> that the value labels show...
> >>>>
> >>>> Sorry about all the noobs questions, but Ihopefully, I am
able to get
> >>> this
> >>>> working.
> >>>>
> >>>> Thanks in advance.
> >>>>
> >>>>
> >>>> Thanks - cY
> >>>>
> >>>>
> >>>> On Fri, Feb 7, 2020 at 1:14 PM <cpolwart at
chemo.org.uk> wrote:
> >>>>
> >>>>> I've never used it, but there is a labels function
in haven...
> >>>>>
> >>>>> On 7 Feb 2020 17:05, Bert Gunter <bgunter.4567 at
gmail.com> wrote:
> >>>>>
> >>>>> What does your data look like after importing? -- see
?head and ?str
> >>> to
> >>>>> tell us. Show us the code that failed to provide
"labels." See the
> >>>> posting
> >>>>> guide below for how to post questions that are likely
to elicit
> >>> helpful
> >>>>> responses.
> >>>>>
> >>>>> I know nothing about the haven package, but see
?factor or go through
> >>> an
> >>>> R
> >>>>> tutorial or two to learn about factors, which may be
part of the
> issue
> >>>>> here. R *generally* obtains whatever "label"
info it needs from the
> >>>> object
> >>>>> being tabled -- see ?tabulate, ?table etc. -- if
that's what you're
> >>>> doing.
> >>>>>
> >>>>> Bert Gunter
> >>>>>
> >>>>> "The trouble with having an open mind is that
people keep coming
> along
> >>>> and
> >>>>> sticking things into it."
> >>>>> -- Opus (aka Berkeley Breathed in his "Bloom
County" comic strip )
> >>>>>
> >>>>>
> >>>>> On Fri, Feb 7, 2020 at 8:28 AM Yawo Kokuvi
<yawo1964 at gmail.com>
> >>> wrote:
> >>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> I am just transitioning from SPSS to R.
> >>>>>>
> >>>>>> I used the haven library to import some of my spss
data files to R.
> >>>>>>
> >>>>>> However, when I run procedures such as frequencies
or crosstabs,
> >>> value
> >>>>>> labels for categorical variables such as gender
(1=male, 2=female)
> >>> are
> >>>>> not
> >>>>>> shown. The same applies to many other output.
> >>>>>>
> >>>>>> I am confused.
> >>>>>>
> >>>>>> 1. Is there a global setting that I can use to
force all categorical
> >>>>>> variables to display labels?
> >>>>>>
> >>>>>> 2. Or, are these labels to be set for each
function or package?
> >>>>>>
> >>>>>> 3. How can I request the value labels for each
function I run?
> >>>>>>
> >>>>>> Thanks in advance for your help..
> >>>>>>
> >>>>>> Best, Yawo
> >>>>>>
> >>>>>> [[alternative HTML version deleted]]
> >>>>>>
> >>>>>> ______________________________________________
> >>>>>> R-help at r-project.org mailing list -- To
UNSUBSCRIBE and more, see
> >>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>>>> PLEASE do read the posting guide
> >>>>>> http://www.R-project.org/posting-guide.html
> >>>>>> and provide commented, minimal, self-contained,
reproducible code.
> >>>>>>
> >>>>>
> >>>>> [[alternative HTML version deleted]]
> >>>>>
> >>>>> ______________________________________________
> >>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE
and more, see
> >>>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>>> PLEASE do read the posting guide
> >>>>> http://www.R-project.org/posting-guide.html
> >>>>> and provide commented, minimal, self-contained,
reproducible code.
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> [[alternative HTML version deleted]]
> >>>>
> >>>> ______________________________________________
> >>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
> >>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>> PLEASE do read the posting guide
> >>>> http://www.R-project.org/posting-guide.html
> >>>> and provide commented, minimal, self-contained,
reproducible code.
> >>>>
> >>>
> >>>
> >>> --
> >>> John Kane
> >>> Kingston ON Canada
> >>>
> >>> [[alternative HTML version deleted]]
> >>>
> >>> ______________________________________________
> >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
> >>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>> PLEASE do read the posting guide
> >>> http://www.R-project.org/posting-guide.html
> >>> and provide commented, minimal, self-contained, reproducible
code.
> >>>
> >>
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
John Kane
Kingston ON Canada
[[alternative HTML version deleted]]