problems in data frame
1
0
Entering edit mode
6.8 years ago
niutster ▴ 110

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)
data frame scan command R • 1.5k views
ADD COMMENT
2
Entering edit mode

There's rarely a reason to use scan for such things, that's what read.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).

ADD REPLY
0
Entering edit mode

1.) This is not a bioinformatics question.

2.) read the helps:

?I
?data.frame
?as.data.frame
ADD REPLY
0
Entering edit mode
6.7 years ago

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)
ADD COMMENT
1
Entering edit mode

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"))
ADD REPLY
0
Entering edit mode

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.

ADD REPLY

Login before adding your answer.

Traffic: 2546 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6