You forgot to library(data.table). BTW, why do you need as.data.frame on data.table object (fread output)? Why not to:
data.table(gene = fread("gene.txt"),
meth = fread("meth.txt"))
Dear all,
I have a two text files contain gene names and methylation degree. I have read these files with scan command in R and named them data1 and data2. Gene names and methylation degree have character and numeric type, respectively . when i combine them in one data frame with below command, it does not work correctly. All of them changes to a data frame with string type with number view and does not preserve their types.
df=data.frame(data1, data2)
Try this
# install package data.table
install.packages("data.table")
data1 = as.data.frame(fread("gene_names.txt"))
data2 = as.data.frame(fread("methylation.txt"))
df = data.frame(data1, data2, stringsAsFactors = F)
You forgot to library(data.table). BTW, why do you need as.data.frame on data.table object (fread output)? Why not to:
data.table(gene = fread("gene.txt"),
meth = fread("meth.txt"))
Yes, that's a much better way. In my mind, I was thinking to be as close to the OPs request as possible (so getting data1 and data2 as individual data.frames).
data.table can be quirky sometimes (e.g. column manipulation), although the class is both data.table and data.frame. Also, the printing of data.table is different.
Log in to answer this question.
There's rarely a reason to use
scanfor such things, that's whatread.delim()and such are for.Please post a couple lines from data1 and data2 (or better yet, the original files before you read them in).
1.) This is not a bioinformatics question.
2.) read the helps: