在read.table的输出上,as.vector生成一个m x 1矩阵,而不是长度为m的向量:
# data.txt contains one integer per line and nothing else
dataframe = read.table("data.txt", encoding='UTF-8', header=F)
v = as.vector(dataframe)
is.vector(v)
[1] FALSE
length(v)
[1] 1
dim(v)
[1] 19783 1
答案 0 :(得分:2)
夏季化以上数据类型:
因此,它(通常)不会从数据帧转换为向量。
在您的示例中,您可以
unlist(dataframe)
或转换为矩阵,然后使用as.vector
as.vector(data.matrix(dataframe))
答案 1 :(得分:2)
考虑readLines
而不是read.table
,它将一列直接导入向量:
data <- readLines(con="data.txt", n=-1L, encoding='UTF-8', warn=FALSE)
is.vector(data)
#[1] TRUE