Re: [R] new comer's question

From: Chuck Berry <cberry_at_tajo.ucsd.edu>
Date: Wed 18 Jan 2006 - 07:29:08 EST

Chang Shen <Chang_Shen <at> progressive.com> writes:

>
>
> I am new to R. I try to search the web but could not find the answer so I
> post it here asking for help.

Broad web searches may not be as helpful as following the advice in the posting guide:

   http://www.R-project.org/posting-guide.html

Following the advice to "Do help.search("keyword") with different keywords (type this at the R prompt)" would have led you to the help page for 'levels'. More on this below.

>
> I have a csv file looks like this: (between two ==== lines)
> ===========================
>
> Machine Name,"Resource, Type","Resource, Sub-type","Resource,

The line wrapping here and below makes it harder for folks to help you!!

> Instance",Date,,Data ->,,,,,,
> ,0.041666667,,,,,,,,,,,
>
> Time (HH:MM) ->,,,,,,0:00,0:15,0:30,0:45,1:00,1:15,1:30
> SCINFR06,Cache,Copy Read Hits %,,10-Jan-06,Cache->Copy Read Hits
> %,0.99,1,1,1,1,1,0.99
> SCINFR06,Cache,Data Map Hits %,,10-Jan-06,Cache->Data Map Hits
> %,1,1,1,1,1,1,1
>
> Time (HH:MM) ->,,,,,,0:00,0:15,0:30,0:45,1:00,1:15,1:30
> SCINFR06,LogicalDisk,% Disk Read Time,C:,10-Jan-06,LogicalDisk->% Disk Read
> Time->C:,2.14,1.52,1.94,1.68,2.52,2.05,2.66
> SCINFR06,LogicalDisk,% Disk Read Time,D:,10-Jan-06,LogicalDisk->% Disk Read
> Time->D:,0.04,0,0,0.08,0,0,0
> SCINFR06,LogicalDisk,% Disk Read
> Time,HarddiskVolume1,10-Jan-06,LogicalDisk->% Disk Read
> Time->HarddiskVolume1,0,0,0,0,0,0,0
> SCINFR06,LogicalDisk,% Disk Read Time,_Total,10-Jan-06,LogicalDisk->% Disk
> Read Time->_Total,0.72,0.51,0.65,0.59,0.84,0.68,0.89
>
> ==============================
>
> First I load it by read.table call:
>
> myArray <- read.table("c:/mydata.csv",sep=",");
>

Was the first row intended as a 'header'. If so,

 myArray <- read.table("c:/mydata.csv", sep="," , header=TRUE )

might be a better start.

FYI, 'myArray' is not an array:

R > is.array(myArray)
[1] FALSE If this surprises you, you need to review the read.table help page and the "R Data Import/Export Manual" Chapter 2.

> After this, the array element myArray[1,2] looks like this
>
> >myArray[1,2]
> [1] Resource, Type
> Levels: 0.041666667 Cache LogicalDisk Resource, Type
>
> Here are the questions:
> (1) What does Levels mean?

It looks like the 'levels' attribute printed in a formaated style:

R > levels( myArray[,2] )
[1] "" "0.041666667" "Cache" "LogicalDisk" [5] "Resource, Type"  

> (2) When I try to split the string "Resource, Type", which is myArray[1,2],

myArray[1,2] is NOT a 'string'.

R > is.character( myArray[1,2] )
[1] FALSE but it is a 'factor':

R > class( myArray[1,2] )
[1] "factor"

> using function strsplit(), I got error:
>
> > w<-strsplit(myArray[1,2],",")
> Error in strsplit(x, as.character(split), as.logical(extended),
> as.logical(fixed), :
> non-character argument in strsplit()
>
> Then I tried this:
>
> > y<-myArray[1,2]
> > y
> [1] Resource, Type
> Levels: 0.041666667 Cache LogicalDisk Resource, Type
> > w<-strsplit(y,",")
> Error in strsplit(x, as.character(split), as.logical(extended),
> as.logical(fixed), :
> non-character argument in strsplit()
>
> But the following call does not cause any error.
>
> > y<-"Resource, Type"
> > w<-strsplit(y,",")
> > w
> [[1]]
> [1] "Resource" " Type"
>
> what is wrong?

You need to convert the 'factor' object to a 'character' object:

R > strsplit( as.character( myArray[1,2] ), "," ) [[1]]
[1] "Resource" " Type"

>
> Thanks
>
> Chang
>
> ______________________________________________
> 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@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 Received on Wed Jan 18 07:49:43 2006

This archive was generated by hypermail 2.1.8 : Wed 18 Jan 2006 - 14:08:21 EST