Hello I would like to create a funciton which is create new dataframe for compare reslut of two dataframes.
No. COLUMN DF1 DF2 "1" "VAL1" "2" "0" # <- compare ID1,VAL1 "2" "VAL2" "3" "2" # <- comapre ID2,VAL2 "3" "VAL3" "4" "2" # <- compare ID3,VAL3 s1 <- read.table("sample1.txt",header=T,sep=',') s2 <- read.table("sample2.txt",header=T,sep=',') comp_data(df1,df2) sample1.txt ID,VAL1,VAL2,VAL3 ID1,2,2,3 ID2,0,3,3 ID3,0,2,4 sample2.txt ID1,0,2,3 ID2,0,2,3 ID3,0,2,2 I created the functions, but I got the following error. Could you tell me how to add new frame data? Or alternative way? 1: In `[<-.factor`(`*tmp*`, ri, value = "3") : invalid factor level, NA generated 2: In `[<-.factor`(`*tmp*`, ri, value = "VAL3") : invalid factor level, NA generated 3: In `[<-.factor`(`*tmp*`, ri, value = "4") : invalid factor level, NA generated comp_data <- function(df1,df2) { # # create null data.frame out <- data.frame(matrix(rep(NA,4),nrow=1))[numeric(0), ] colnames(out) <- c("ID","Site","df1","df2") # column names col_names <- colnames(df1) # col_size col_size <- ncol(df1) row_size <- nrow(df1) for( col in 2:col_size ){ for( row in 1:row_size ){ if( df1[row,col] != df2[row,col] ){ out <- rbind(out,c(df1[row,1],col_names[col],df1[row,col],df2[row,col])) } } } out } Best regards. [[alternative HTML version deleted]] ______________________________________________ R-help@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.