Other readers of this list may have better suggestions for how to read in data with interspersed header rows, but here's a work-around to do specifically what you requested ...
# find the rows where "Loan" is in the Date column sel <- grep("Loan", dat$Date) # create a new vector with these row numbers as IDs ID <- rep(NA, dim(dat)[1]) ID[sel] <- sel # use the na.locf() function from the zoo package to # replace each missing ID with the most recent non-missing ID prior to it library(zoo) IDlong <- na.locf(ID, na.rm=FALSE) # use these filled in row numbers to assign values to # the Loan.. and Account.Name columns dat$Loan.. <- dat$Action[IDlong] dat$Account.Name <- dat$Disbursed[IDlong] Jean arum <arumk...@wrdf.org> wrote on 11/29/2012 02:25:06 PM: > > Hello, this is my first post. I have a large CSV file where I need to fill in > the 1st and 2nd column with a Loan # and Account name that would be found in > a line of text : like this: ,,Loan #:,ML-113-07,Account Name:, Quilting > Boutique,,,,,,,,,,, > I would like to place the Loan #: ML-113-07 in the first column and the > account name quilting boutique in the second column. If possible I would > also like to copy these details all the way down until the end of the > record. But I would just be happy to know the best way to script the > conditional logic that says something like if column 3 = "Loan #" then > Column 1 eq Column 4 and Column 2 eq column 6. Here is a snap shot of the > CSV file I am working with. Thanks > Loan #,Account > Name,Date,Action,Amount,Disbursed,Capitalized,Interest,Fees,Insurance,Principal,Interest,Fees,Insurance,Writeoff,Recovery,Balance > ,,,,,,,,,,,,,,,,Page #: 11 > ,,Date,Action,Amount,Disbursed,Capitalized,Interest,Fees,Insurance,Principal,Interest,Fees,Insurance,Writeoff,Recovery,Balance > ,,Loan #:,ML-123-07,Account Name:, Quilting Shop,,,,,,,,,,, > ,,11/30/2009,Interest,2.36,0,0,2.36,0,0,0,0,0,0,0,0,1767.76 > ,,12/24/2009,Payment: Regular,161,0,0,11.33,0,0,147.31,13.69,0,0,0,0,1620.45 > ,,12/31/2009,Interest,3.03,0,0,3.03,0,0,0,0,0,0,0,0,1620.45 > ,,01/26/2010,Fee: Late,10,0,0,0,10,0,0,0,0,0,0,0,1620.45 > ,,01/31/2010,Interest,13.42,0,0,13.42,0,0,0,0,0,0,0,0,1620.45 > ,,02/09/2010,Payment: Regular,180,0,0,3.9,0,0,149.65,20.35,10,0,0,0,1470.8 > ,,02/25/2010,Payment: Regular,170,0,0,6.29,0,0,163.71,6.29,0,0,0,0,1307.09 > ,,02/28/2010,Interest,1.05,0,0,1.05,0,0,0,0,0,0,0,0,1307.09 > ,,03/25/2010,Payment: Regular,180,0,0,8.73,0,0,170.22,9.78,0,0,0,0,1136.87 > ,,03/31/2010,Interest,1.82,0,0,1.82,0,0,0,0,0,0,0,0,1136.87 > ,,04/26/2010,Fee: Late,10,0,0,0,10,0,0,0,0,0,0,0,1136.87 > ,,04/26/2010,Payment: Regular,165,0,0,7.9,0,0,145.28,9.72,10,0,0,0,991.59 > ,,04/30/2010,Interest,1.06,0,0,1.06,0,0,0,0,0,0,0,0,991.59 > ,,05/27/2010,Payment: Regular,999.8,0,0,7.15,0,0,991.59,8.21,0,0,0,0,0 > ,,,Loan Totals,,5000,0,795.58,172,0,5000,795.58,172,0,0,0,0 > ,,,,,,,,,,,,,,,,Page #: 12 > ,,Date,Action,Amount,Disbursed,Capitalized,Interest,Fees,Insurance,Principal,Interest,Fees,Insurance,Writeoff,Recovery,Balance > ,,Loan #:,ML-124-07,Account Name:,Tata Bird Farm,,,,,,,,,,, > ,,10/26/2007,Commitment,5000,0,0,0,0,0,0,0,0,0,0,0,0 > ,,10/26/2007,Advance: Principal,5000,5000,0,0,0,0,0,0,0,0,0,0,5000 > ,,10/26/2007,Fee: Admin,50,0,0,0,50,0,0,0,0,0,0,0,5000 > ,,10/26/2007,Payment: Customized,50,0,0,0,0,0,0,0,50,0,0,0,5000 [[alternative HTML version deleted]] ______________________________________________ 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.