Hi, I'm just learning R and am encountering some unexpected results following a guide on the internet. If anyone can help that would be great - I think it is something about the way the data has been read in! I've read a coma delimited text data file that was saved from excel:> jacs.data <- read.table("/Users/natha/Desktop/JACSdata2.txt", header=TRUE, > sep=",")This seemed to work fine, but then I start to get unusual results that don't seem right: The guide says that names(file.data) will give output like "ID" "JURIS" "RESCODE" , but I get ID.JURIS.RESCODE. The guide says that file.data[5,1] will give me the data for the 5th subject but i get: [1] 7\tACT\t\t\tSUMMONS\tACTCC321.001\tA.C.T. - MINOR THEFT (REPLACEMENT VALUE $2000 OR LESS)\ etc - which seems scrambled The guide says that file.data[var5>0] will give me the data for all subject who meet that condition (ie greater than 0 on var5), but I get: Error in "[.data.frame"(jacs.data, offend > 0) : object "offend" not found can anyone help? Thanks nathan -- View this message in context: http://www.nabble.com/unexpected-results-tf1979786.html#a5432210 Sent from the R help forum at Nabble.com.
On 7/21/2006 7:36 AM, nathan wrote:> Hi, > > I'm just learning R and am encountering some unexpected results following a > guide on the internet. If anyone can help that would be great - I think it > is something about the way the data has been read in! > > I've read a coma delimited text data file that was saved from excel: > >> jacs.data <- read.table("/Users/natha/Desktop/JACSdata2.txt", header=TRUE, >> sep=",") > > This seemed to work fine, but then I start to get unusual results that don't > seem right: > > The guide says that names(file.data) will give output like "ID" "JURIS" > "RESCODE" , but I get ID.JURIS.RESCODE. > > The guide says that file.data[5,1] will give me the data for the 5th subject > but i get: > [1] 7\tACT\t\t\tSUMMONS\tACTCC321.001\tA.C.T. - MINOR THEFT (REPLACEMENT > VALUE $2000 OR LESS)\ etc - which seems scrambledThe "\t" values are tabs. I think your file was tab delimited, not comma delimited. R thinks it has only one column, because it didn't fine any commas.> > The guide says that file.data[var5>0] will give me the data for all subject > who meet that condition (ie greater than 0 on var5), but I get: > > Error in "[.data.frame"(jacs.data, offend > 0) : > object "offend" not foundIt looks like you typed jacs.data[offend > 0]. There are two problems: 1. You want to select rows matching the condition, so you need another comma, i.e. jacs.data[offend > 0, ] (the empty entry after the comma means "all columns"). 2. You need to have a variable named offend outside the dataframe. The error message makes it look as though you don't. If offend is a column in the dataframe, then you would use jacs.data[jacs.data$offend > 0, ] or subset(jacs.data, offend > 0) Duncan Murdoch> can anyone help? Thanks nathan
On Fri, 2006-07-21 at 04:36 -0700, nathan wrote:> Hi, > > I'm just learning R and am encountering some unexpected results following a > guide on the internet. If anyone can help that would be great - I think it > is something about the way the data has been read in! > > I've read a coma delimited text data file that was saved from excel: > > > jacs.data <- read.table("/Users/natha/Desktop/JACSdata2.txt", header=TRUE, > > sep=",") > > This seemed to work fine, but then I start to get unusual results that don't > seem right: > > The guide says that names(file.data) will give output like "ID" "JURIS" > "RESCODE" , but I get ID.JURIS.RESCODE. > > The guide says that file.data[5,1] will give me the data for the 5th subject > but i get: > [1] 7\tACT\t\t\tSUMMONS\tACTCC321.001\tA.C.T. - MINOR THEFT (REPLACEMENT > VALUE $2000 OR LESS)\ etc - which seems scrambled > > The guide says that file.data[var5>0] will give me the data for all subject > who meet that condition (ie greater than 0 on var5), but I get: > > Error in "[.data.frame"(jacs.data, offend > 0) : > object "offend" not found > > can anyone help? Thanks nathanIt would appear that your data file is NOT comma delimited, but TAB delimited. The "\t" characters in the output above support this, since you asked for just the first column for the 5th subject and it appears that you got the entire row. Re-run the import using: jacs.data <- read.table("/Users/natha/Desktop/JACSdata2.txt", header=TRUE, sep = "\t") so that you are indicating that the delimiter is a TAB character, not a comma. HTH, Marc Schwartz
Hi On 21 Jul 2006 at 4:36, nathan wrote: Date sent: Fri, 21 Jul 2006 04:36:53 -0700 (PDT) From: nathan <sirrahn at hotmail.com> To: r-help at stat.math.ethz.ch Subject: [R] unexpected results> > Hi, > > I'm just learning R and am encountering some unexpected results > following a guide on the internet. If anyone can help that would be > great - I think it is something about the way the data has been read > in! > > I've read a coma delimited text data file that was saved from excel: > > > jacs.data <- read.table("/Users/natha/Desktop/JACSdata2.txt", > > header=TRUE, sep=",") > > This seemed to work fine, but then I start to get unusual results thatI do not think so. Probably separation character of your file is not "," as you set in sep=",".> don't seem right: > > The guide says that names(file.data) will give output like "ID" > "JURIS" "RESCODE" , but I get ID.JURIS.RESCODE.e.g. ID.JURIS.RESCODE was read into one column. Best way how to copy data from Excel (if you have Excel) Select your data in Excel including first row with headers Ctrl-C Go to R Write mydata <- read.delim("clipboard") or look at JACSdata2.txt what is the separator between fields and set it in your read.table command accordingly. From later I suppose your txt file is tab delimited so read.delim(....) shall capture it. HTH Petr> > The guide says that file.data[5,1] will give me the data for the 5th > subject but i get: [1] 7\tACT\t\t\tSUMMONS\tACTCC321.001\tA.C.T. - > MINOR THEFT (REPLACEMENT VALUE $2000 OR LESS)\ etc - which seems > scrambled > The guide says that file.data[var5>0] will give me the data for all > subject who meet that condition (ie greater than 0 on var5), but I > get: > > Error in "[.data.frame"(jacs.data, offend > 0) : > object "offend" not found > > can anyone help? Thanks nathan > -- > View this message in context: > http://www.nabble.com/unexpected-results-tf1979786.html#a5432210 Sent > from the R help forum at Nabble.com. > > ______________________________________________ > 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 and provide commented, > minimal, self-contained, reproducible code.Petr Pikal petr.pikal at precheza.cz
Thanks, You are right about it being a tab delimited file - I should have spotted that. I am now getting an error saying that line 4 did not have 27 elements but will fiddle around and try to work it out - I'm guessing because I have some empty feild its causing problems. Anyway thanks for the differnt bits of help -- View this message in context: http://www.nabble.com/unexpected-results-tf1979786.html#a5441821 Sent from the R help forum at Nabble.com.
Reasonably Related Threads
- reading from text file that have different rowlength and create a data frame
- splitting into multiple dataframes and then create a loop to work
- Several lattice plots on one page
- sipura 3000 mwi stutter problem
- About multiple panels with limited space in-between