无法强制列出对象以键入'double

时间:2012-12-27 16:12:16

标签: r

我使用R,当我尝试运行以下代码时:

f = scan(file="c:\\myfile.txt", sep=' ', what=list('numeric'))

MY_MATRIX.M = matrix(f, ncol = 4, byrow = TRUE)

Var.names = c('column1','column2', 'column3', 'column4')
colnames(MY_MATRIX.M) = Var.names

TEST = data.frame(MY_MATRIX.M)

t1 = TEST[which(TEST[,4] == 0, arr.ind = TRUE),]
t2 = TEST[which(TEST[,4] == 1, arr.ind = TRUE),]

我有以下错误:

Error in which(TEST[,4] == 0, arr.ind = TRUE : 
  (list) object cannot be coerced to type 'double'

我的文件有4列,由数组组成。 任何人都可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:8)

您遇到的问题是由what=list(numeric)参数引起的。您想告诉R该文件只有numeric个值,它包含带有数字元素的列表。所以只需使用what=numeric,或者根本不使用what

我不经常导入文本文件,但是当我这样做时,我更喜欢read