[R] Merging two columns of unequal length

Jim Lemon drjimlemon at gmail.com
Thu Dec 15 22:59:27 CET 2016


Hi Bailey,
I may be misunderstanding what you are doing as I can't work out how
you get unequal column lengths, but this may help:

myval<-matrix(sample(1:365,740,TRUE),ncol=74)
mydata<-as.data.frame(cbind(1950:1959,myval))
lakenames<-paste(rep(LETTERS[1:26],length.out=74),
 rev(rep(letters[1:25],length.out=74)),
 rep(letters[1:24],length.out=74),sep="")
names(mydata)<-c("Year",lakenames)
res<-vector("list",74)
for (i in 1:74){
 thisval<-mydata[,i+1]
 lake.lm<-lm(thisval ~ Year,mydata)
 res[[i]]<-residuals(lake.lm)
}
# this will cause an error with as.data.frame
res[[20]]<-res[[20]][-1]
# pad the short column with NA
res<-lapply(res,function(x,length.out) x[1:length.out],10)
res.df<-as.data.frame(res)
names(res.df)<-lakenames
print(res.df)

Jim


On Tue, Dec 13, 2016 at 10:41 AM, Bailey Hewitt <bailster at hotmail.com> wrote:
> Dear R Help,
>
>
> I am trying to put together two columns of unequal length in a data frame. Unfortunately, so far I have been unsuccessful in the functions I have tried (such as cbind). The code I am currently using is : (I have highlighted the code that is not working)
>
>
> y<- mydata[,2:75]
>
> year <- mydata$Year
>
> res <- data.frame()
>
> for (i in 1:74){
>
>   y.val <- y[,i]
>
>   lake.lm= lm(y.val ~ year)
>
>   lake.res=residuals(lake.lm)
>
>   new.res <- data.frame(lake.res=lake.res)
>
>   colnames(new.res) <- colnames(y)[i]
>
> #cbind doesn't work because of the unequal lengths of my data columns
>
>   res <- cbind(res, new.res)
>
>   print(res)
>
> }
>
>
> mydata is a csv file with "Year" from 1950 on as my first column and then each proceeding column has a lake name and a day of year (single number) in each row.
>
>
> Please let me know if there is any more information I can provide as I am new to emailing in this list. Thank you for your time!
>
>
> Bailey Hewitt
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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