融化后错误的数据类型转换

时间:2018-06-20 13:19:12

标签: r data.table melt

在融化R中的def QuestionGenerator(): questionlist_file = open('StudentNames.csv') reader=csv.reader(questionlist_file) rownum=0 array2=[] for row in reader: array2.append(row) rownum=rownum+1 print(array2) 对象之后,我得到了numericinteger64类型的转换。

给出文件data.table,以制表符分隔:

stats.txt

我想将其读入id x y A 283726709252 0.1 B 288604342155 0.2 C 329048184196 0.3 D 192107948937 0.4 融化。所以:

data.table

到目前为止,一切都很好。现在,如果将其融化,则会将 y 变量从数字转换为integer64:

library(data.table)
stats<- fread('stats.txt')

 stats
   id            x   y
1:  A 283726709252 0.1
2:  B 288604342155 0.2
3:  C 329048184196 0.3
4:  D 192107948937 0.4

str(stats)
Classes ‘data.table’ and 'data.frame':  4 obs. of  3 variables:
 $ id: chr  "A" "B" "C" "D"
 $ x :integer64 283726709252 288604342155 329048184196 192107948937 
 $ y : num  0.1 0.2 0.3 0.4
 - attr(*, ".internal.selfref")=<externalptr>

这是错误还是我做错了什么?

xm<- melt.data.table(data= stats, id.vars= 'id')

xm
   id variable               value
1:  A        x        283726709252
2:  B        x        288604342155
3:  C        x        329048184196
4:  D        x        192107948937
5:  A        y 4591870180066957722
6:  B        y 4596373779694328218
7:  C        y 4599075939470750515
8:  D        y 4600877379321698714

str(xm)
Classes ‘data.table’ and 'data.frame':  8 obs. of  3 variables:
 $ id      : chr  "A" "B" "C" "D" ...
 $ variable: Factor w/ 2 levels "x","y": 1 1 1 1 2 2 2 2
 $ value   :integer64 283726709252 288604342155 329048184196 192107948937 4591870180066957722 4596373779694328218 4599075939470750515 4600877379321698714 
 - attr(*, ".internal.selfref")=<externalptr> 

0 个答案:

没有答案