On 07/30/2020 06:09 PM, Gabor Grothendieck wrote:
> Probably simplest to assign the names afterwards as others have
> suggested but it could be done like this:
>
>   library(sqldf)
>   write.csv(BOD, "BOD.csv", quote = FALSE, row.names = FALSE)  # test data
>
>   read.csv.sql("BOD.csv", "select Time as Time2, demand as demand2 from file")
>
> giving the column names Time2 and demand2 rather than the original column 
> names.
>
>     Time2 demand2
>   1     1     8.3
>   2     2    10.3
>   3     3    19.0
>   4     4    16.0
>   5     5    15.6
>   6     7    19.8
>
> On Fri, Jul 17, 2020 at 9:28 PM H <age...@meddatainc.com> wrote:
>> I have created a dataframe with columns that are characters, integers and 
>> numeric and with column names assigned by me. I am using read.csv.sql() to 
>> read portions of a number of large csv files into this dataframe, each csv 
>> file having a header row with columb names.
>>
>> The problem I am having is that the csv files have header rows with column 
>> names that are slightly different from the column names I have assigned in 
>> the dataframe and it seems that when I read the csv data into the dataframe, 
>> the column names from the csv file replace the column names I chose when 
>> creating the dataframe.
>>
>> I have been unable to figure out if it is possible to assign column names of 
>> my choosing in the read.csv.sql() function? I have tried various variations 
>> but none seem to work. I tried colClasses = c(....) but that did not work, I 
>> tried field.types = c(...) but could not get that to work either.
>>
>> It seems that the above should be feasible but I am missing something? Does 
>> anyone know?
>>
>> A secondary issue is that the csv files have a column with a date in 
>> mm/dd/yyyy format that I would like to make into a Date type column in my 
>> dataframe. Again, I have been unable to find a way - if at all possible - to 
>> force a conversion into a Date format when importing into the dataframe. The 
>> best I have so far is to import is a character column and then use as.Date() 
>> to later force the conversion of the dataframe column.
>>
>> Is it possible to do this when importing using read.csv.sql()?
>>
>> ______________________________________________
>> 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.
>
>
Apologies, I had tuned out from this discussion since I solved the problem by 
renaming the columns after reading the file. Your suggestion to do it in the 
SQL statement itself, however, seems to be neatest one though!

Thank you.

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

Reply via email to