简洁版本:
当尝试将数据帧的单行转换为字符向量时,我不了解as.character的行为。
> mydf <- data.frame("myvar1"=c("mystring","2"),"myvar2"=c("mystring","3"))
> mydf # nice!
myvar1 myvar2
1 mystring mystring
2 2 3
> as.character(mydf[1,])
[1] "2" "2"
> as.character(as.vector(mydf[1,]) )
[1] "2" "2"
也许有人可以给我解释最后2条输出线和正确的方法吗?非常感谢。
背景/目的:
我想使用lre()
它来检测数据帧(具有不同数据类型的列)的一行中值的连续出现。
问题:lre()
需要一个向量,向量需要一个确定的数据类型(整数,字符,因子等)。我的想法是将数据帧行转换为字符向量,以避免数据因转换而丢失。
您的数据框列不是字符,它们是因素。
创建数据框时,默认设置是字符是因素。如果选择一列,您可以清楚地看到这一点
R> mydf[,1]
[1] mystring 2
Levels: 2 mystring
为了避免这种行为,请将stringsAsFactors
参数设置为FALSE
mydf = data.frame("myvar1"=c("mystring", "2"),
"myvar2"=c("mystring", "3"),
stringsAsFactors=FALSE)
您还应该查看以下问题:如何将数据框列转换为数字类型?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句