Hi Henrique & other R-helpers,
Thank you for helping me last week. I used Henrique's suggestion to develop
some code (below) to combine two rows in my dataframe into a third row, and
then delete the original two rows. It works well.

My solution is not very elegant however; if there's a function (or a better
way) to accomplish this in 1-2 lines (rather than my 6) I'd appreciate
knowing about it.

Many thanks, Mark Na


#make some data for this example

data<-data.frame(c("1A","1B"),c("10","15"))

names(data)<-c("id","value")

data$value<-as.numeric(as.character(data$value))


#combine two lines into one by summing their values in the value column

fixed<-data.frame() #create empty data frame to hold fixed rows

fixed<-rbind(fixed, aggregate(data["value"],list(substr(data[,"id"],1,1)),
sum))

#copy previous line as necessary for other fixes

names(fixed)<-c("id","value") #fix column names


#bind the fixed line to the main dataframe and delete the original lines

data<-rbind(data,fixed) #add fixed lines to data

data<-data[-which(c("1A","1B") %in% data$id),] #delete lines from data

rownames(data) <- 1:nrow(data) #renumber rows



On Thu, Jul 9, 2009 at 5:58 PM, Henrique Dallazuanna <www...@gmail.com>wrote:

> Try this:
>
> aggregate(x["VALUE"], list(substr(x[,"ID"], 1, 1)), sum)
>
> On Thu, Jul 9, 2009 at 7:27 PM, Mark Na <mtb...@gmail.com> wrote:
>
>> Dear R-helpers,
>>
>> I have two rows in my dataframe:
>>
>> ID    VALUE
>> 1A    10
>> 1B    15
>>
>> and I would like to combine these two rows into a single (new) row in my
>> dataframe:
>>
>> ID    VALUE
>> 1    25
>>
>> ...simply by specifying a new value for ID and summing the two VALUES.
>>
>> I have been trying to do this with with rbind, but it's not working.
>>
>> I'd appreciate any pointers.
>>
>> Thanks, Mark Na
>>
>>        [[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.
>>
>
>
>
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
>

        [[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.

Reply via email to