0

Newbie to R, I had 32 csv files in one directory, I read-it using R. All the csv files contains two columns (1)GenID ,2)samplename(Ex.10_s9)) I want to merge all the csv's into one csv file.

setwd("/home/pinn/cmd/csv")
filelist = list.files(pattern = "*.csv$")
list.files()
df <- list.files(path="/home/pinn/cmd/csv",full.names = TRUE) %>%
  + lapply(read_csv))

In main csv file, I need all the GenIDs in first column and followed by samplename(10_s9,11_s12) if one of the GenID is missing among the other samples it should denoted it as "0".

Final table-
GenID    10_s9 11_s12 12_s34 13_45 15_90
Trin_789 89.0  45.3    89     100   78
Trin_90  0      0      0      78.9   65.2

Here, Trin_90 is present only in 13_45 & 15_90 only it return its score for rest of the samples it returned "0" because it is absent.

Suggestions please, thanks.

I tried to create each dataframe for all 32 files and try to combine all df into one

> df1 <- read.csv(file="1_S4.csv",header = TRUE)
> df2 <- read.csv(file="2_S8.csv",header = TRUE)
> df3 <- read.csv(file="3_S12.csv",header = TRUE)
> df4 <- read.csv(file="4_S16.csv",header = TRUE)
> df5 <- read.csv(file="5_S20.csv",header = TRUE)
> df6 <- read.csv(file="6_S25.csv",header = TRUE)
> df7 <- read.csv(file="7_S29.csv",header = TRUE)
> df8 <- read.csv(file="8_S1.csv",header = TRUE)
> df9 <- read.csv(file="9_S5.csv",header = TRUE)
> df10 <- read.csv(file="10_S9.csv",header = TRUE)
> df11 <- read.csv(file="11_S13.csv",header = TRUE)
> df12 <- read.csv(file="12_S17.csv",header = TRUE)
> df13 <- read.csv(file="13_S21.csv",header = TRUE)
> df14 <- read.csv(file="14_S26.csv",header = TRUE)
> df15 <- read.csv(file="15_S30.csv",header = TRUE)
> df16 <- read.csv(file="16_S2.csv",header = TRUE)
> df17 <- read.csv(file="17_S6.csv",header = TRUE)
> df18 <- read.csv(file="18_S10.csv",header = TRUE)
> df19 <- read.csv(file="19_S14.csv",header = TRUE)
> df20 <- read.csv(file="20_S18.csv",header = TRUE)
> df21 <- read.csv(file="21_S22.csv",header = TRUE)
> df22 <- read.csv(file="22_S27.csv",header = TRUE)
> df23 <- read.csv(file="23_S31.csv",header = TRUE)
> df24 <- read.csv(file="24_S23.csv",header = TRUE)
> df25 <- read.csv(file="25_S28.csv",header = TRUE) 
> df26 <- read.csv(file="26_S32.csv",header = TRUE) 
> df27 <- read.csv(file="27_S3.csv",header = TRUE) 
> df28 <- read.csv(file="28_S7.csv",header = TRUE) 
> df29 <- read.csv(file="29_S11.csv",header = TRUE) 
> df30 <- read.csv(file="31_S19.csv",header = TRUE) 
> df31 <- read.csv(file="30_S15.csv",header = TRUE) 
> df32 <- read.csv(file="32_S24.csv",header = TRUE) 
> totaldf <- do.call("rbind",list(df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18,df19,df20,df21,df22,df23,df24,df25,df26,df27,df28,df29,df30,df31,df32))
Error in match.names(clabs, names(xi)) : 
  names do not match previous names
> tdf <- do.call("rbind",list(df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18,df19,df20,df21,df22,df23,df24,df25,df26,df27,df28,df29,df30,df31,df32))
Error in match.names(clabs, names(xi)) : 
  names do not match previous names

How do I solve this error ?

peg97
  • 19
  • 3
  • Not really, what I'm excepting according to my understanding. Can show how do i encoding that I'd great. More simpler way. – peg97 Jun 22 '20 at 14:11
  • Try importing the data first as suggested then using the `tidyr` library to reshape the data (function: `pivot_wider`). – Nova Jun 22 '20 at 16:00
  • I need to generate a data-frame Which i showed in Final table section. – peg97 Jun 22 '20 at 19:16
  • @Nova, yes. How do I merge dataframes using "GenID" ? – peg97 Jun 22 '20 at 19:26
  • need to generate a data-frame Which i showed in Final table section @ Nova. – peg97 Jun 22 '20 at 19:30

0 Answers0