Skip to content
Back to formatted view

Raw Message

Message-ID: <4186A3A4.3090002@pdf.com>
Date: 2004-11-01T20:59:16Z
From: Spencer Graves
Subject: Reading word by word in a dataset
In-Reply-To: <41868A87.5020905@statistik.uni-dortmund.de>

Uwe and Andy's solutions are great for many applications but won't 
work if not all rows have the same numbers of fields.  Consider for 
example the following modification of Lee's example: 

i1-apple        10$   New_York
i2-banana
i3-strawberry   7$    Japan

      If I copy this to "clipboard" and run Andy's code, I get the 
following: 

 > read.table("clipboard", colClasses=c("character", "NULL", "NULL"))
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = 
dec,  :
    line 2 did not have 3 elements

      We can get around this using "scan", then splitting things apart 
similar to the way Uwe described: 

 > dat <-
+ scan("clipboard", character(0), sep="\n")
Read 3 items
 > dash <- regexpr("-", dat)
 > dat2 <- substring(dat, pmax(0, dash)+1)
 >
 > blank <- regexpr(" ", dat2)
 > if(any(blank<0))
+   blank[blank<0] <- nchar(dat2[blank<0])
 > substring(dat2, 1, blank)
[1] "apple "      "banana"      "strawberry "

      hope this helps.  spencer graves
    
Uwe Ligges wrote:

> Liaw, Andy wrote:
>
>> Using R-2.0.0 on WinXPPro, cut-and-pasting the data you have:
>>
>>
>>> read.table("clipboard", colClasses=c("character", "NULL", "NULL"))
>>
>>
>>              V1
>> 1      i1-apple
>> 2     i2-banana
>> 3 i3-strawberry
>
>
>
> ... and if only the words after "-" are of interest, the statement can 
> be followed by
>
>  sapply(strsplit(...., "-"), "[", 2)
>
>
> Uwe Ligges
>
>
>
>> HTH,
>> Andy
>>
>>
>>> From: j lee
>>>
>>> Hello All,
>>>
>>> I'd like to read first words in lines into a new file.
>>> If I have a data file the following, how can I get the
>>> first words: apple, banana, strawberry?
>>>
>>> i1-apple        10$   New_York
>>> i2-banana       5$    London
>>> i3-strawberry   7$    Japan
>>>
>>> Is there any similar question already posted to the
>>> list? I am a bit new to R, having a few months of
>>> experience now.
>>>
>>> Cheers,
>>>
>>> John
>>>
>>> ______________________________________________
>>> R-help at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide! 
>>> http://www.R-project.org/posting-guide.html
>>>
>>>
>>
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide! 
>> http://www.R-project.org/posting-guide.html
>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html


-- 
Spencer Graves, PhD, Senior Development Engineer
O:  (408)938-4420;  mobile:  (408)655-4567