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. > > [[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.