如何知道数据是否是R中的列表或data.frame

car*_*ria 14 r list dataframe

我怎么知道R中的数据是列表还是data.frame?

如果我用typeof(x)它说列表,如果我用class(x)它说data.frame?

Sym*_*xAU 17

为了澄清给出问题标题可能存在的误解,a data.frame也是一个列表.

is.list(data.frame())   # TRUE
Run Code Online (Sandbox Code Playgroud)

但是,您可以使用inherits()以查看对象是否为listdata.frame

inherits(data.frame(), "data.frame")  # TRUE
inherits(list(), "data.frame")        # FALSE

inherits(data.frame(), "list")        # FALSE
inherits(list(), "list")              # TRUE
Run Code Online (Sandbox Code Playgroud)

  • 您正在检查“列表”是否继承了“列表”,以及“数据。框架”是否继承了“数据。框架”,因此显然两者都将并且应该返回“真”。 (2认同)