Hi,
The Garbage.txt file you showed in the original post is slighly different (in
spacing) from the one you are showing now.
lines1 - readLines(Garbage.txt,warn=FALSE)
lines2 - readLines(GarbageNew.txt,warn=FALSE) #saved the new as
GarbageNew.txt
lines1
[1] Material\tWeight(Million Tons)\tPercent
[2] Food Scraps\t25.9\t\t\t11.2
[3] Glass\t\t12.8\t\t\t5.5
[4] Metals\t\t18.0\t\t\t7.8
[5] Paper\t\t86.7\t\t\t37.4
[6] Plastics\t24.7\t\t\t10.7
[7] Textiles\t15.8\t\t\t6.8
[8] Wood\t\t12.7\t\t\t5.5
[9] Yard trimmings\t27.7\t\t\t11.9
[10] Other\t\t7.5\t\t\t3.2
[11] Total\t\t231.9\t\t\t100.0
lines2
[1] Material\tWeight(Million Tons)\tPercent
[2] Food Scraps\t25.9\t11.2
[3] Glass\t12.8\t5.5
[4] Metals\t18.0\t7.8
[5] Paper\t86.7\t37.4
[6] Plastics\t24.7\t10.7
[7] Textiles\t15.8\t6.8
[8] Wood\t12.7\t5.5
[9] Yard trimmings\t27.7 11.9 #here there are two delimiters \t and
space
[10] Other\t7.5\t3.2
[11] Total\t231.9\t100.0
Looks like you changed the tab spaces.
dat1 -
read.table(text=gsub(\t+,\t,lines1),stringsAsFactors=FALSE,sep=\t,check.names=FALSE,header=TRUE)
#no errors
#able to reproduce the error mentioned
dat2 -
read.table(text=gsub(\t+,\t,lines2),stringsAsFactors=FALSE,sep=\t,check.names=FALSE,header=TRUE)
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 8 did not have 3 elements
#Try this
dat2 - read.table(text=gsub((.*\\d+)
(\\d+),\\1\t\\2,lines2),stringsAsFactors=FALSE,sep=\t,check.names=FALSE,header=TRUE)
identical(dat1,dat2)
#[1] TRUE
jpeg(garbageweight.jpg,width=800)
barplot(dat2[-10,2],names.arg=dat2[-10,1],ylab=colnames(dat2)[2],col=rainbow(9),main=American
garbage)
dev.off()
Attached is the pdf of the figure
A.K.
Garbage.txt
The error I get now is Line 8 did not have 3 elements
On Tuesday, October 22, 2013 9:41 AM, arun smartpink...@yahoo.com wrote:
Hi,
Try:
lines1 - readLines(Garbage.txt,warn=FALSE)
dat1 -
read.table(text=gsub(\t+,\t,lines1),stringsAsFactors=FALSE,sep=\t,check.names=FALSE,header=TRUE)
str(dat1)
#'data.frame': 10 obs. of 3 variables:
# $ Material : chr Food Scraps Glass Metals Paper ...
# $ Weight(Million Tons): num 25.9 12.8 18 86.7 24.7 ...
# $ Percent : num 11.2 5.5 7.8 37.4 10.7 6.8 5.5 11.9 3.2 100
jpeg(garbageweight.jpg,width=800)
barplot(dat1[-10,2],names.arg=dat1[-10,1],ylab=colnames(dat1)[2],col=rainbow(9),main=American
garbage)
dev.off()
A.K.
Hello guys, I'm having this weird problem with my assignment. I can't seem to
import the data that I have created.
I keep getting an error that says Error: More Columns than Column names
This is my data file.
Garbage.txt
Was also wondering if you guys could send me into the right direction on how to
do this.
1. Create a data frame with the data given above.
2. Create the bar plot for weight variable with appropriate labels. Resize the
graphics
panel/ window so that all labels are visible.
3. Add colors. Suppose n is the number of bars.
barplot(..., col = rainbow(n))
4. Save the plot to garbageweight.jpg
This is how it's supposed to look like at the end.
garbage.weight.pdf
Description: Adobe PDF document
__
R-help@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.