我想从数据帧的一行中创建一个向量。但是我不需要行名和列名。我尝试了几件事...但是没有运气。
这是我的数据框:
> df <- data.frame(a=c(1,2,4,2),b=c(2,6,2,1),c=c(2.6,8.2,7.5,3))
> df
a b c
1 1 2 2.6
2 2 6 8.2
3 4 2 7.5
4 2 1 3.0
我试过了:
> newV <- as.vector(df[1,])
> newV
a b c
1 1 2 2.6
但是我真的想要这样的东西:
> newV <- c( 1,2,2.6)
> newV
[1] 1.0 2.0 2.6
从数据框中提取一行时,您将获得一个单行数据框。将其转换为数值向量:
as.numeric(df[1,])
正如@Roland所建议的那样,unlist(df[1,])
无需删除名称即可将单行数据帧转换为数字矢量。因此,这unname(unlist(df[1,]))
是获得相同结果的另一种更为明确的方法。
就像下面的@Josh注释一样,如果您有一个不完全数字(字母,因子,混合...)的数据框,则需要as.character(df[1,])
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句