【发布时间】:2015-07-20 01:58:44
【问题描述】:
我在下面粘贴了我的代码的重要部分。基本上,我正在创建一个 data.frame,其中两列包含数值,一列包含因子。
我正在尝试将“位置”列转换为数值,但是一旦我这样做了,位置值由于某种原因会切换。
f <- fread("ABC.txt",header=F,skip=1)$V1
f <- paste(f, collapse = "")
vector <- 1:stri_length(f)
fillmatrix <- c(rbind(strsplit(f, "")[[1]], vector))
A <- data.frame(1,matrix(fillmatrix, ncol=2, byrow = TRUE))
A <- A[c(1,3,2)]
colnames(A)=c("Track","Location","Base")
class(A$Track)
# [1] "factor"
A[1:15,] # Before as.numeric
Track Location Base
# 1 1 1 A
# 2 1 2 C
# 3 1 3 G
# 4 1 4 G
# 5 1 5 A
# 6 1 6 A
# 7 1 7 T
# 8 1 8 A
# 9 1 9 A
# 10 1 10 A
# 11 1 11 A
# 12 1 12 T
# 13 1 13 T
# 14 1 14 C
# 15 1 15 C
a <- transform(A, Location = as.numeric(Location), Track = as.numeric(Track))
a[1:15,] # After as.numeric
# Track Location Base
# 1 1 1 A
# 2 1 112 C
# 3 1 223 G
# 4 1 334 G
# 5 1 445 A
# 6 1 556 A
# 7 1 667 T
# 8 1 679 A
# 9 1 690 A
# 10 1 2 A
# 11 1 13 A
# 12 1 24 T
# 13 1 35 T
# 14 1 46 C
# 15 1 57 C
A 数据帧相当长 ~ 700 行。我创建data.frame的方式是问题吗?还是我忽略了一个小错误?
感谢您的帮助
【问题讨论】:
标签: r