Variations on the same theme: > testdf<-data.frame(A=c(1,2),B=c(2,3),C=c(3,4)) > testdf[0,] [1] A B C <0 rows> (or 0-length row.names) > testdf[FALSE,] [1] A B C <0 rows> (or 0-length row.names) > testdf[integer(0),] [1] A B C <0 rows> (or 0-length row.names) > testdf[NULL,] [1] A B C <0 rows> (or 0-length row.names)
-pd > On 27 Sep 2018, at 10:32 , PIKAL Petr <petr.pi...@precheza.cz> wrote: > > Hm > > I would use > >> testdf<-data.frame(A=c(1,2),B=c(2,3),C=c(3,4)) >> str(testdf) > 'data.frame': 2 obs. of 3 variables: > $ A: num 1 2 > $ B: num 2 3 > $ C: num 3 4 >> testdf<-testdf[-(1:nrow(testdf)),] >> str(testdf) > 'data.frame': 0 obs. of 3 variables: > $ A: num > $ B: num > $ C: num > > Cheers > Petr > >> -----Original Message----- >> From: R-help <r-help-boun...@r-project.org> On Behalf Of Jim Lemon >> Sent: Thursday, September 27, 2018 10:12 AM >> To: Luigi Marongiu <marongiu.lu...@gmail.com>; r-help mailing list <r-help@r- >> project.org> >> Subject: Re: [R] Erase content of dataframe in a single stroke >> >> Ah, yes, try 'as.data.frame" on it. >> >> Jim >> >> On Thu, Sep 27, 2018 at 6:00 PM Luigi Marongiu <marongiu.lu...@gmail.com> >> wrote: >>> >>> Thank you Jim, >>> this requires the definition of an ad hoc function; strange that R >>> does not have a function for this purpose... >>> Anyway, it works but it changes the structure of the data. By >>> redefining the dataframe as I did, I obtain: >>> >>>> df >>> [1] A B C >>> <0 rows> (or 0-length row.names) >>>> str(df) >>> 'data.frame': 0 obs. of 3 variables: >>> $ A: num >>> $ B: num >>> $ C: num >>> >>> When applying your function, I get: >>> >>>> df >>> $A >>> NULL >>> >>> $B >>> NULL >>> >>> $C >>> NULL >>> >>>> str(df) >>> List of 3 >>> $ A: NULL >>> $ B: NULL >>> $ C: NULL >>> >>> The dataframe has become a list. Would that affect downstream >> applications? >>> >>> Thank you, >>> Luigi >>> On Thu, Sep 27, 2018 at 9:45 AM Jim Lemon <drjimle...@gmail.com> >> wrote: >>>> >>>> Hi Luigi, >>>> Maybe this: >>>> >>>> testdf<-data.frame(A=1,B=2,C=3) >>>>> testdf >>>> A B C >>>> 1 1 2 3 >>>> toNull<-function(x) return(NULL) >>>> testdf<-sapply(testdf,toNull) >>>> >>>> Jim >>>> On Thu, Sep 27, 2018 at 5:29 PM Luigi Marongiu >> <marongiu.lu...@gmail.com> wrote: >>>>> >>>>> Dear all, >>>>> I would like to erase the content of a dataframe -- but not the >>>>> dataframe itself -- in a simple and fast way. >>>>> At the moment I do that by re-defining the dataframe itself in this way: >>>>> >>>>>> df <- data.frame(A = numeric(), >>>>> + B = numeric(), >>>>> + C = character()) >>>>>> # assign >>>>>> A <- 5 >>>>>> B <- 0.6 >>>>>> C <- 103 >>>>>> # load >>>>>> R <- cbind(A, B, C) >>>>>> df <- rbind(df, R) >>>>>> df >>>>> A B C >>>>> 1 5 0.6 103 >>>>>> # erase >>>>>> df <- data.frame(A = numeric(), >>>>> + B = numeric(), >>>>> + C = character()) >>>>>> df >>>>> [1] A B C >>>>> <0 rows> (or 0-length row.names) >>>>>> >>>>> >>>>> Is there a way to erase the content of the dataframe in a simplier >>>>> (acting on all the dataframe at once instead of naming each column >>>>> individually) and nicer (with a specific erasure command instead >>>>> of re-defyining the object itself) way? >>>>> >>>>> Thank you. >>>>> -- >>>>> Best regards, >>>>> Luigi >>>>> >>>>> ______________________________________________ >>>>> 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. >>> >>> >>> >>> -- >>> Best regards, >>> Luigi >> >> ______________________________________________ >> 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. > Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních > partnerů PRECHEZA a.s. jsou zveřejněny na: > https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about > processing and protection of business partner’s personal data are available > on website: https://www.precheza.cz/en/personal-data-protection-principles/ > Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a > podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: > https://www.precheza.cz/01-dovetek/ | This email and any documents attached > to it may be confidential and are subject to the legally binding disclaimer: > https://www.precheza.cz/en/01-disclaimer/ > > ______________________________________________ > 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. -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ 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.