[R] Ask for help - how to change WHIRR.117.csv to WHIRR_117.csv
Rui Barradas
ruipbarradas at sapo.pt
Wed Sep 26 12:26:00 CEST 2012
Hello,
Maybe the code below answers to both your questions (Q1 and Q2)
cnames <- colnames(dat)
cnames <- sub("WHIRR\\.", "WHIRR_", cnames)
for(which_col in seq_len(ncol(dat)))
{
subset_data <- dat[which_col:ncol(dat)] # change 1, Q2
file_name <- sprintf('%s.csv', cnames[which_col]) # change 2, Q1
#write.csv(subset_data, file_name) # debug 1
message(sprintf('Saving %s', file_name))
if(which_col == ncol(dat)) print(subset_data) # debug 2
}
Em 26-09-2012 07:43, s.s.m. fauzi escreveu:
> Hi,
> I have a script below.
>
> dat <- read.table(file="pt.csv", header=T, sep=",", row.names=1,
> col.names=1)
> dat
> for(which_col in seq_len(ncol(dat)))
> {
> subset_data <- dat[,which_col:ncol(dat)]
> file_name <- sprintf('%s.csv', colnames(dat)[which_col])
> write.csv(subset_data, file_name)
> message(sprintf('Saving %s', file_name))
> }
>
> dput(head(dat))
>
> structure(list(WHIRR.25 = c(0L, 0L, 0L, 0L, 0L, 0L), WHIRR.28 = c(0L,
> 0L, 1L, 0L, 0L, 0L), WHIRR.55 = c(0L, 0L, 0L, 0L, 0L, 0L), WHIRR.61 = c(0L,
> 0L, 1L, 0L, 0L, 0L), WHIRR.76 = c(0L, 0L, 0L, 0L, 0L, 0L), WHIRR.87 = c(0L,
> 0L, 0L, 0L, 0L, 0L), WHIRR.92 = c(0L, 0L, 0L, 0L, 0L, 0L), WHIRR.115 =
> c(0L,
> 0L, 0L, 0L, 0L, 0L), WHIRR.117 = c(0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(
> "WHIRR.25",
> "WHIRR.28", "WHIRR.55", "WHIRR.61", "WHIRR.76", "WHIRR.87", "WHIRR.92",
> "WHIRR.115", "WHIRR.117"), row.names = c("Adrian Cole", "Alison Wong",
> "Andrei Savu", "Bruno Dumon", "Edward J. Yoon", "Eugene Koontz"
> ), class = "data.frame")
>
> The script is able to save the file in the directory, but with the
> following name:
> WHIRR.25.csv
> WHIRR.28.csv
> WHIRR.55.csv
> WHIRR.61.csv
> WHIRR.76.csv
> WHIRR.87.csv
> WHIRR.92.csv
> WHIRR.115.csv
> WHIRR.117.csv
>
> My first question is:
> How can I change or convert the name above to WHIRR_25.csv, WHIRR_28.csv,
> WHIRR_55.csv, etc?
>
> My second question is:
> The last column which is WHIRR.177.csv is not properly created, the output
> for the last column is as below:
>
> X1
> 1 0
> 2 0
> 3 0
> 4 0
> 5 0
> 6 0
> 7 0
> 8 0
> 9 0
> 10 0
> 11 0
> 12 0
> 13 0
> 14 1
> 15 0
>
> Suppose, the last column should be properly created like this, as below:
>
> WHIRR.117
> Adrian Cole 0
> Alison Wong 0
> Andrei Savu 0
> Bruno Dumon 0
> Edward J. Yoon 0
> Eugene Koontz 0
> Jakob Homan 0
> Kelvin Kakugawa 0
> Kirk True 0
> Lars George 0
> Soren Macbeth 0
> Stu Hood 0
> Tibor Kiss 0
> Tom White 1
> Unassigned 0
>
> Appreciate your thought...
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
More information about the R-help
mailing list