According to the documentation (?as.vector), "All attributes are removed from the result if it is of an atomic mode, but not in general for a list result."
data.frames are lists so > is.vector(as.vector(x)) [1] FALSE However if you convert using unlist() or as.matrix(), you will get a vector: > is.vector(unlist(x)) [1] TRUE > is.vector(as.vector(as.matrix(x))) [1] TRUE ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Duncan Murdoch Sent: Sunday, December 15, 2013 6:12 AM To: 水静流深; r-help Subject: Re: [R] why as.vector can't make x to be a vector? On 13-12-15 6:48 AM, 水静流深 wrote: >> x=read.table(text=" > + Qtr1 Qtr2 Qtr3 Qtr4 > + 2010 1.8 8.0 6.0 3.0 > + 2011 2.0 11.0 7.0 3.5 > + 2012 2.5 14.0 8.0 4.2 > + 2013 3.0 15.2 9.5 5.0",sep="",header=TRUE) >> x > Qtr1 Qtr2 Qtr3 Qtr4 > 2010 1.8 8.0 6.0 3.0 > 2011 2.0 11.0 7.0 3.5 > 2012 2.5 14.0 8.0 4.2 > 2013 3.0 15.2 9.5 5.0 >> as.vector(x) > Qtr1 Qtr2 Qtr3 Qtr4 > 2010 1.8 8.0 6.0 3.0 > 2011 2.0 11.0 7.0 3.5 > 2012 2.5 14.0 8.0 4.2 > 2013 3.0 15.2 9.5 5.0 >> class(as.vector(x)) > [1] "data.frame" Data frames are lists, which are already vectors. Duncan Murdoch ______________________________________________ R-help@r-project.org mailing list 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@r-project.org mailing list 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.