首页 > 解决方案 > as.character() 应用于 data.frame 的单个元素与 data.frame 的整个“行”

问题描述

我有一个这样的data.frame:

df<-data.frame(x=c(1,2,3),y=c('b','a','c'))

如果我输入命令:

as.character(df$y[1])或者as.character(df[1,2])

我最终得到了输出"b"

如果我输入命令:

as.character(df[1,])

我最终得到了输出"1" "2"

我知道对于上面列出的最终命令,R 给了我字符“b”的因子级别

但是,为什么前两个命令不这样做呢?

当我进入时,R 实际上在“内部”做什么as.character()?不管是什么,我认为这是不同输出的原因。

提前致谢

标签: r

解决方案


我不确定 as.character() 的内部结构。但也许这可以解决问题: df<-data.frame(x=c(1,2,3), y=c('b','a','c'), stringsAsFactors = FALSE) 然后as.character(df[1,])会返回[1] "1" "b". 这 [1] "1" "b"不是 "b"因为 df[1,] 返回整行。

希望这可以帮助。此致


推荐阅读