Subset error when trying to double subset











up vote
0
down vote

favorite












I have the following data:



Year Sex   Age       
1991 0 Group1
1991 0 Group2
1991 1 Group1
1991 1 Group2
1992 0 Group1
1992 0 Group2
1992 1 Group1
1992 1 Group2


I am trying to subset it into several different subsets,



I used



male <- df1[df1$sex == 1, ]


But in the second step, when I was trying to use



age1male <- male[male$Age == Group1, ]


again to further subset it, the outcome becomes messy, many rows of the year appear to be NA, and the number in the first column becomes something like NA.78, NA.9 etc, I don't know what's wrong.










share|improve this question




















  • 1




    male[male$Age == "Group1", ] (the double-quotes matter); also, if you're using attach() anywhere, don't. it causes more harm than good in the long run.
    – hrbrmstr
    Nov 10 at 20:55












  • @hrbrmstr hi, Thanks! But unfortunately, it still has the same problem when I added the quotes, any other ideas?
    – The R
    Nov 10 at 21:01










  • Not without a larger data sample (you can do that by doing something like dput(head(df1, 50))` and putting the output in a code block (lines prefixed with 4 spaces). 50 is arbitrary. Any # that's representative would be good. The output of sessionInfo() and ls.str() (again, in code blocks) would help, too. A link to the data file is fine if that'd be easier than the dput()
    – hrbrmstr
    Nov 10 at 21:04






  • 1




    Make sure the column name matches: male <- df1[df1$Sex == 1,] (note the capital)
    – mickey
    Nov 10 at 21:04








  • 1




    How about this: subset(df1, Sex==1 & Age=='Group1')?
    – Edward Carney
    Nov 10 at 21:20

















up vote
0
down vote

favorite












I have the following data:



Year Sex   Age       
1991 0 Group1
1991 0 Group2
1991 1 Group1
1991 1 Group2
1992 0 Group1
1992 0 Group2
1992 1 Group1
1992 1 Group2


I am trying to subset it into several different subsets,



I used



male <- df1[df1$sex == 1, ]


But in the second step, when I was trying to use



age1male <- male[male$Age == Group1, ]


again to further subset it, the outcome becomes messy, many rows of the year appear to be NA, and the number in the first column becomes something like NA.78, NA.9 etc, I don't know what's wrong.










share|improve this question




















  • 1




    male[male$Age == "Group1", ] (the double-quotes matter); also, if you're using attach() anywhere, don't. it causes more harm than good in the long run.
    – hrbrmstr
    Nov 10 at 20:55












  • @hrbrmstr hi, Thanks! But unfortunately, it still has the same problem when I added the quotes, any other ideas?
    – The R
    Nov 10 at 21:01










  • Not without a larger data sample (you can do that by doing something like dput(head(df1, 50))` and putting the output in a code block (lines prefixed with 4 spaces). 50 is arbitrary. Any # that's representative would be good. The output of sessionInfo() and ls.str() (again, in code blocks) would help, too. A link to the data file is fine if that'd be easier than the dput()
    – hrbrmstr
    Nov 10 at 21:04






  • 1




    Make sure the column name matches: male <- df1[df1$Sex == 1,] (note the capital)
    – mickey
    Nov 10 at 21:04








  • 1




    How about this: subset(df1, Sex==1 & Age=='Group1')?
    – Edward Carney
    Nov 10 at 21:20















up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have the following data:



Year Sex   Age       
1991 0 Group1
1991 0 Group2
1991 1 Group1
1991 1 Group2
1992 0 Group1
1992 0 Group2
1992 1 Group1
1992 1 Group2


I am trying to subset it into several different subsets,



I used



male <- df1[df1$sex == 1, ]


But in the second step, when I was trying to use



age1male <- male[male$Age == Group1, ]


again to further subset it, the outcome becomes messy, many rows of the year appear to be NA, and the number in the first column becomes something like NA.78, NA.9 etc, I don't know what's wrong.










share|improve this question















I have the following data:



Year Sex   Age       
1991 0 Group1
1991 0 Group2
1991 1 Group1
1991 1 Group2
1992 0 Group1
1992 0 Group2
1992 1 Group1
1992 1 Group2


I am trying to subset it into several different subsets,



I used



male <- df1[df1$sex == 1, ]


But in the second step, when I was trying to use



age1male <- male[male$Age == Group1, ]


again to further subset it, the outcome becomes messy, many rows of the year appear to be NA, and the number in the first column becomes something like NA.78, NA.9 etc, I don't know what's wrong.







r






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 10 at 20:56









hrbrmstr

57.8k584143




57.8k584143










asked Nov 10 at 20:51









The R

32




32








  • 1




    male[male$Age == "Group1", ] (the double-quotes matter); also, if you're using attach() anywhere, don't. it causes more harm than good in the long run.
    – hrbrmstr
    Nov 10 at 20:55












  • @hrbrmstr hi, Thanks! But unfortunately, it still has the same problem when I added the quotes, any other ideas?
    – The R
    Nov 10 at 21:01










  • Not without a larger data sample (you can do that by doing something like dput(head(df1, 50))` and putting the output in a code block (lines prefixed with 4 spaces). 50 is arbitrary. Any # that's representative would be good. The output of sessionInfo() and ls.str() (again, in code blocks) would help, too. A link to the data file is fine if that'd be easier than the dput()
    – hrbrmstr
    Nov 10 at 21:04






  • 1




    Make sure the column name matches: male <- df1[df1$Sex == 1,] (note the capital)
    – mickey
    Nov 10 at 21:04








  • 1




    How about this: subset(df1, Sex==1 & Age=='Group1')?
    – Edward Carney
    Nov 10 at 21:20
















  • 1




    male[male$Age == "Group1", ] (the double-quotes matter); also, if you're using attach() anywhere, don't. it causes more harm than good in the long run.
    – hrbrmstr
    Nov 10 at 20:55












  • @hrbrmstr hi, Thanks! But unfortunately, it still has the same problem when I added the quotes, any other ideas?
    – The R
    Nov 10 at 21:01










  • Not without a larger data sample (you can do that by doing something like dput(head(df1, 50))` and putting the output in a code block (lines prefixed with 4 spaces). 50 is arbitrary. Any # that's representative would be good. The output of sessionInfo() and ls.str() (again, in code blocks) would help, too. A link to the data file is fine if that'd be easier than the dput()
    – hrbrmstr
    Nov 10 at 21:04






  • 1




    Make sure the column name matches: male <- df1[df1$Sex == 1,] (note the capital)
    – mickey
    Nov 10 at 21:04








  • 1




    How about this: subset(df1, Sex==1 & Age=='Group1')?
    – Edward Carney
    Nov 10 at 21:20










1




1




male[male$Age == "Group1", ] (the double-quotes matter); also, if you're using attach() anywhere, don't. it causes more harm than good in the long run.
– hrbrmstr
Nov 10 at 20:55






male[male$Age == "Group1", ] (the double-quotes matter); also, if you're using attach() anywhere, don't. it causes more harm than good in the long run.
– hrbrmstr
Nov 10 at 20:55














@hrbrmstr hi, Thanks! But unfortunately, it still has the same problem when I added the quotes, any other ideas?
– The R
Nov 10 at 21:01




@hrbrmstr hi, Thanks! But unfortunately, it still has the same problem when I added the quotes, any other ideas?
– The R
Nov 10 at 21:01












Not without a larger data sample (you can do that by doing something like dput(head(df1, 50))` and putting the output in a code block (lines prefixed with 4 spaces). 50 is arbitrary. Any # that's representative would be good. The output of sessionInfo() and ls.str() (again, in code blocks) would help, too. A link to the data file is fine if that'd be easier than the dput()
– hrbrmstr
Nov 10 at 21:04




Not without a larger data sample (you can do that by doing something like dput(head(df1, 50))` and putting the output in a code block (lines prefixed with 4 spaces). 50 is arbitrary. Any # that's representative would be good. The output of sessionInfo() and ls.str() (again, in code blocks) would help, too. A link to the data file is fine if that'd be easier than the dput()
– hrbrmstr
Nov 10 at 21:04




1




1




Make sure the column name matches: male <- df1[df1$Sex == 1,] (note the capital)
– mickey
Nov 10 at 21:04






Make sure the column name matches: male <- df1[df1$Sex == 1,] (note the capital)
– mickey
Nov 10 at 21:04






1




1




How about this: subset(df1, Sex==1 & Age=='Group1')?
– Edward Carney
Nov 10 at 21:20






How about this: subset(df1, Sex==1 & Age=='Group1')?
– Edward Carney
Nov 10 at 21:20



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243283%2fsubset-error-when-trying-to-double-subset%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243283%2fsubset-error-when-trying-to-double-subset%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Bressuire

Vorschmack

Quarantine