R 为什么类型是整数?

R 为什么类型是整数?,r,dataframe,typeof,R,Dataframe,Typeof,为什么typeof()会产生一个整数,而这显然是一个字符串 > Str_IN$V1[trapper] [1] IT1*0000010*660*LB*4.07*PE*BP*2018710000*MP*12345*VN*944940 20 Levels: BEG*20140905*93608602*20140730*45056564 CTT*1 DTM*011*20140904 ... TDS*280120 > typeof(Str_IN$V1[trapper]

为什么typeof()会产生一个整数,而这显然是一个字符串

> Str_IN$V1[trapper]
    [1] IT1*0000010*660*LB*4.07*PE*BP*2018710000*MP*12345*VN*944940
    20 Levels: BEG*20140905*93608602*20140730*45056564 CTT*1 DTM*011*20140904 ... TDS*280120

    > typeof(Str_IN$V1[trapper])
    [1] "integer"

根据?类型

typeof确定任何对象的(R内部)类型或存储模式

OP的列是一个
因子
,其内部存储模式是
整数
。它可以通过
模式检查

mode(factor("A"))
#[1] "numeric"
及其
存储
版本

storage.mode(factor("A"))
#[1] "integer"
相反,我们可能需要检查
class

class(Str_IN$V1[trapper])

根据?类型

typeof确定任何对象的(R内部)类型或存储模式

OP的列是一个
因子
,其内部存储模式是
整数
。它可以通过
模式检查

mode(factor("A"))
#[1] "numeric"
及其
存储
版本

storage.mode(factor("A"))
#[1] "integer"
相反,我们可能需要检查
class

class(Str_IN$V1[trapper])

它是存储模式为整数的系数。尝试
as.integer(factor(c)(“A”,“B”,“c”))
您可能正在寻找
类(Str_IN$V1[trapper])
您可以使用
class
而不是
typeof
来获取有关向量的更多信息(虽然它并不总是返回长度为1的向量……在许多情况下,它返回长度为2或更多的向量,如
类(Sys.time())
类(如可存储(mtcars))
)。为什么存储模式是整数?任何更好地理解这一点的参考都可能会有所帮助…@r2evansIt是
factor
其中存储模式是
integer
。请尝试
as.integer(factor(factor)(c(“A”,“B”,“c”))
您可能正在查找
类(Str_IN$V1[trapper])
您可以使用
class
而不是
typeof
来获取有关向量的更多信息(尽管它并不总是返回长度为1的向量…在许多情况下,它返回长度为2或2以上的向量,如
类(Sys.time())
类(作为可存储(mtcars))
)。为什么存储模式是整数?任何更好地理解这一点的参考资料都可能有帮助…@r2evans