对R中各种类型的事物进行全面调查;'mode'、'class'和'typeof'是不足够的。

14 浏览
0 Comments

对R中各种类型的事物进行全面调查;'mode'、'class'和'typeof'是不足够的。

R语言让我感到困惑。实体有模式和类别,但这还不足以完全描述实体。

这篇回答说:

在R中,每个'对象'都有一个模式和一个类别。

所以我做了这些实验:

> class(3)
[1] "numeric"
> mode(3)
[1] "numeric"
> typeof(3)
[1] "double"

到目前为止都还好,但是当我传入一个向量时:

> mode(c(1,2))
[1] "numeric"
> class(c(1,2))
[1] "numeric"
> typeof(c(1,2))
[1] "double"

这不合理。一个整数向量应该有不同的类别或不同的模式,与单个整数不同吧?我的问题是:

  • R中的所有内容是否都有(仅有一个)类别?
  • R中的所有内容是否都有(仅有一个)模式?
  • 'typeof'告诉我们什么,如果有的话?
  • 完全描述一个实体需要什么其他信息?(例如,'向量性'存储在哪里?)

更新:显然,字面上的3只是长度为1的向量。没有标量。好吧...我尝试了mode("string"),得到"character"的结果,这让我认为字符串是一个字符向量。但如果是这样的话,这个应该是成立的,但事实并非如此!c('h','i') == "hi"

0