[R] Argh! Trouble using string data read from a file
Rolf Turner
r.turner at auckland.ac.nz
Thu Oct 16 00:45:42 CEST 2008
On 16/10/2008, at 11:07 AM, Prof Brian Ripley wrote:
> [[ ]] works on vectors!
So it does. My bad.
>
>> letters[[3]]
> [1] "c"
>
> See help("[["). But strictly V4 is a factor and hence not a
> vector: [[ ]]
> also works on factors.
Yes. I had forgotten that not everyone sets options
(stringsAsFactors=FALSE)
the way that all right thinking people do. So I was thinking in
terms of
V4 being a character vector. Silly me. Of *course* you'd want it to
be a
factor .... (Huh?)
So as.character() is required, single brackets or double brackets.
cheers,
Rolf
> On Thu, 16 Oct 2008, Rolf Turner wrote:
>
>>
>> On 16/10/2008, at 10:03 AM, jim holtman wrote:
>>
>>> try putting as.character in the call:
>>>
>>> x = read.csv(as.character(V4[[i]]), header = FALSE
>>
>> No. This won't help. V4 is a column of the data frame optdata,
>> and hence is a vector. Not a list! Use single brackets --- V4[i]
>> ---
>> and all will be well.
>>
>> cheers,
>>
>> Rolf
>>>
>>> On Wed, Oct 15, 2008 at 4:46 PM, Ted Byers
>>> <r.ted.byers at gmail.com> wrote:
>>>>
>>>> Here is what I tried:
>>>>
>>>> optdata =
>>>> read.csv("K:\\MerchantData\\RiskModel\\AutomatedRiskModel\
>>>> \soptions.dat",
>>>> header = FALSE, na.strings="")
>>>> optdata
>>>> attach(optdata)
>>>> for (i in 1:length(V4) ) { x = read.csv(V4[[i]], header = FALSE,
>>>> na.strings="");x }
>>>>
>>>> And here is the outcome (just a few of the 60 records
>>>> successfully read):
>>>>> optdata =
>>>>> read.csv("K:\\MerchantData\\RiskModel\\AutomatedRiskModel\
>>>>> \soptions.dat",
>>>>> header = FALSE, na.strings="")
>>>>> optdata
>>>> V1 V2 V3 V4
>>>> 1 251 2008 18 Plus_Shipping.2008.18.dat
>>>> 2 251 2008 19 Plus_Shipping.2008.19.dat
>>>> 3 251 2008 20 Plus_Shipping.2008.20.dat
>>>> 4 251 2008 22 Plus_Shipping.2008.22.dat
>>>> 5 251 2008 23 Plus_Shipping.2008.23.dat
>>>> 6 251 2008 24 Plus_Shipping.2008.24.dat
>>>>
>>>> I can see the data has been correctly read. But for some reason
>>>> that
>>>> isn't
>>>> clear, read.csv doesn't like the data in the last column.
>>>>
>>>>> attach(optdata)
>>>>> for (i in 1:length(V4) ) { x = read.csv(V4[[i]], header = FALSE,
>>>>> na.strings="");x }
>>>> Error in read.table(file = file, header = header, sep = sep,
>>>> quote =
>>>> quote,
>>>> :
>>>> 'file' must be a character string or connection
>>>>> V4[[1]]
>>>> [1] Plus_Shipping.2008.18.dat
>>>> 60 Levels: Easyway.2008.17.dat Easyway.2008.18.dat Easyway.
>>>> 2008.19.dat
>>>> Easyway.2008.20.dat ... Secured_Pay.2008.31.dat
>>>>
>>>>>
>>>>
>>>> The last column is comprised of valid Windows filenames (and no
>>>> whitespace,
>>>> so as not to confuse things).
>>>>
>>>> I see in the docuentation "`[[...]]' is the operator used to
>>>> select a
>>>> single
>>>> element, whereas `[...]' is a general subscripting operator.",
>>>> so I assume
>>>> V4[[i]] is the correct way to get the ith value from V4. So why
>>>> does
>>>> read.csv complain that "'file' must be a character string or
>>>> connection"?
>>>> It seems obvious that the value in V4[[i]i] is a string. V4
>>>> [[1]] does
>>>> give
>>>> me the right value, although that is followed by output I didn't
>>>> ask for.
>>>>
>>>> In the loop above, I was going to replace the output obtained by
>>>> 'x' with
>>>> output from fitdistr(x,"exponential"), but I can't proceed with
>>>> that until
>>>> I
>>>> can get the data in these files read.
>>>>
>>>> What have I missed?
>>>>
>>>> Thanks
>>>>
>>>> Ted
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Argh%21--Trouble-using-string-data-read-
>>>> from-a-file-tp20002064p20002064.html
>>>> Sent from the R help mailing list archive at Nabble.com.
>>>>
>>>> ______________________________________________
>>>> R-help at 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.
>>>>
>>>
>>>
>>>
>>> --
>>> Jim Holtman
>>> Cincinnati, OH
>>> +1 513 646 9390
>>>
>>> What is the problem that you are trying to solve?
>>>
>>> ______________________________________________
>>> R-help at 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.
>>
>>
>> #####################################################################
>> #
>> Attention:\ This e-mail message is privileged and confid...
>> {{dropped:9}}
>>
>> ______________________________________________
>> R-help at 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.
>
> --
> Brian D. Ripley, ripley at stats.ox.ac.uk
> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595
######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
More information about the R-help
mailing list