My “count1a” function was only looking for types of integers and characters. There were a few logical types, which were the source of the error.
Thanks, Erin On Tue, Aug 9, 2022 at 11:33 AM David Carlson <dcarl...@tamu.edu> wrote: > Could you have columns that are not character or integer so that y is > never defined in the function? > > count1a(1:5/3) > Error in count1a(1:5/3) : object 'y' not found > > David Carlson > > > On Mon, Aug 8, 2022 at 1:35 PM Erin Hodgess <erinm.hodg...@gmail.com> > wrote: > >> OK. I'm back again. So my test1.df is 236x390 If I put in the >> following: lapply(test1.df,count1a) Error in FUN(X[[i]], ...) : >> object 'y' not found > lapply(test1.df,count1a) Error in FUN(X[[i]], >> ...) : object 'y' not found > sapply(test1.df,count1a) >> ZjQcmQRYFpfptBannerStart >> This Message Is From an External Sender >> This message came from outside your organization. >> >> ZjQcmQRYFpfptBannerEnd >> >> OK. I'm back again. >> >> So my test1.df is 236x390 >> >> If I put in the following: >> lapply(test1.df,count1a) >> Error in FUN(X[[i]], ...) : object 'y' not found >> > lapply(test1.df,count1a) >> Error in FUN(X[[i]], ...) : object 'y' not found >> > sapply(test1.df,count1a) >> Error in FUN(X[[i]], ...) : object 'y' not found >> > >> What am I doing wrong, please? >> Thanks, >> Erin >> >> >> Erin Hodgess, PhD >> mailto: erinm.hodg...@gmail.com >> >> >> On Mon, Aug 8, 2022 at 1:41 PM Erin Hodgess <erinm.hodg...@gmail.com> wrote: >> >> > Awesome, thanks so much!! >> > >> > Erin Hodgess, PhD >> > mailto: erinm.hodg...@gmail.com >> > >> > >> > On Mon, Aug 8, 2022 at 1:38 PM John Fox <j...@mcmaster.ca> wrote: >> > >> >> Dear Erin, >> >> >> >> The problem is that the data frame gets coerced to a character matrix, >> >> and the only column with "" entries is the 9th (the second one you >> >> supplied): >> >> >> >> as.matrix(test1.df) >> >> X1_1_HZP1 X1_1_HBM1_mon X1_1_HBM1_yr >> >> 1 "48160" "December" "2014" >> >> 2 "48198" "June" "2018" >> >> 3 "80027" "August" "2016" >> >> 4 "48161" "" NA >> >> 5 NA "" NA >> >> 6 "48911" "August" "1985" >> >> 7 NA "April" "2019" >> >> 8 "48197" "February" "1993" >> >> 9 "48021" "" NA >> >> 10 "11355" "December" "1990" >> >> >> >> (Here, test1.df only contains the three columns you provided.) >> >> >> >> A solution is to use sapply: >> >> >> >> > sapply(test1.df, count1a) >> >> X1_1_HZP1 X1_1_HBM1_mon X1_1_HBM1_yr >> >> 2 3 3 >> >> >> >> >> >> I hope this helps, >> >> John >> >> >> >> >> >> On 2022-08-08 1:22 p.m., Erin Hodgess wrote: >> >> > Hello! >> >> > >> >> > I have the following data.frame >> >> > dput(test1.df[1:10,8:10]) >> >> > structure(list(X1_1_HZP1 = c(48160L, 48198L, 80027L, 48161L, >> >> > NA, 48911L, NA, 48197L, 48021L, 11355L), X1_1_HBM1_mon = c("December", >> >> > "June", "August", "", "", "August", "April", "February", "", >> >> > "December"), X1_1_HBM1_yr = c(2014L, 2018L, 2016L, NA, NA, 1985L, >> >> > 2019L, 1993L, NA, 1990L)), row.names = c(NA, 10L), class = "data.frame") >> >> > >> >> > And the following function: >> >> >> dput(count1a) >> >> > function (x) >> >> > { >> >> > if (typeof(x) == "integer") >> >> > y <- sum(is.na(x)) >> >> > if (typeof(x) == "character") >> >> > y <- sum(x == "") >> >> > return(y) >> >> > } >> >> > When I use the apply function with count1a, I get the following: >> >> > apply(test1.df[1:10,8:10],2,count1a) >> >> > X1_1_HZP1 X1_1_HBM1_mon X1_1_HBM1_yr >> >> > NA 3 NA >> >> > However, when I do use columns 8 and 10, I get the correct response: >> >> > apply(test1.df[1:10,c(8,10)],2,count1a) >> >> > X1_1_HZP1 X1_1_HBM1_yr >> >> > 2 3 >> >> >> >> >> > I am really baffled. If I use count1a on a single column, it works >> >> fine. >> >> > >> >> > Any suggestions much appreciated. >> >> > Thanks, >> >> > Sincerely, >> >> > Erin >> >> > >> >> > >> >> > Erin Hodgess, PhD >> >> > mailto: erinm.hodg...@gmail.com >> >> > >> >> > [[alternative HTML version deleted]] >> >> > >> >> > ______________________________________________ >> >> > R-help@r-project.org >> >> mailing list -- To UNSUBSCRIBE and more, see >> >> > https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help__;!!KwNVnqRv!CHx9JKnbOObpAt0LltEogLSxDUEl9qJDI6FgqMJBG_kdRHAy8SJJdx6Uq0p4rpBa4E3DkmQ65UImH48MBvSbrfE$ >> >> > PLEASE do read the posting guide >> >> https://urldefense.com/v3/__http://www.R-project.org/posting-guide.html__;!!KwNVnqRv!CHx9JKnbOObpAt0LltEogLSxDUEl9qJDI6FgqMJBG_kdRHAy8SJJdx6Uq0p4rpBa4E3DkmQ65UImH48MdYOqruE$ >> >> > and provide commented, minimal, self-contained, reproducible code. >> >> -- >> >> John Fox, Professor Emeritus >> >> McMaster University >> >> Hamilton, Ontario, Canada >> >> web: >> >> https://urldefense.com/v3/__https://socialsciences.mcmaster.ca/jfox/__;!!KwNVnqRv!CHx9JKnbOObpAt0LltEogLSxDUEl9qJDI6FgqMJBG_kdRHAy8SJJdx6Uq0p4rpBa4E3DkmQ65UImH48MRU4wu3o$ >> >> >> >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________r-h...@r-project.org mailing >> list -- To UNSUBSCRIBE and more, >> seehttps://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help__;!!KwNVnqRv!CHx9JKnbOObpAt0LltEogLSxDUEl9qJDI6FgqMJBG_kdRHAy8SJJdx6Uq0p4rpBa4E3DkmQ65UImH48MBvSbrfE$ >> PLEASE do read the posting guide >> https://urldefense.com/v3/__http://www.R-project.org/posting-guide.html__;!!KwNVnqRv!CHx9JKnbOObpAt0LltEogLSxDUEl9qJDI6FgqMJBG_kdRHAy8SJJdx6Uq0p4rpBa4E3DkmQ65UImH48MdYOqruE$ >> and provide commented, minimal, self-contained, reproducible code. >> >> -- Erin Hodgess, PhD mailto: erinm.hodg...@gmail.com [[alternative HTML version deleted]] ______________________________________________ R-help@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.