sun*_*nny 12 r data.table
我想将data.table行转换为向量.这对我有用:
unlist(dt[row_num])
Run Code Online (Sandbox Code Playgroud)
但是有更原生的解决方案吗?我也不喜欢上面保留名称的时候我真的想要一个纯数字向量,然后导致:
as.numeric(unlist(dt[row_num]))
Run Code Online (Sandbox Code Playgroud)
似乎应该有更好的选择.
jog*_*ogo 15
好的,现在我知道你想要一排:
as.matrix(dt[row_num])[1,]
Run Code Online (Sandbox Code Playgroud)
IMO最好首先使用data.table-operation而不是将完整的数据表转换为矩阵.简单地说,性能更好(特别是在非常大的data.tables上).例:
library("data.table")
Iris <- data.table(iris[-5])
as.matrix(Iris[42])[1,]
Run Code Online (Sandbox Code Playgroud)
Mat*_*erg 11
将行提取为向量的问题是向量是同构的,而数据帧或数据表的行不是.
但是,您可以将数据转换为矩阵,然后提取行:
> x <- iris[1:10,1:4]
> as.matrix(x)[1,]
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.1 3.5 1.4 0.2
Run Code Online (Sandbox Code Playgroud)