0

我想使用该head()函数来概览数据集,但它不起作用。

> library(haven)
> corona <- read_sav("Corona_FB/Corona_FB/TRR265_CoronaFB_16-12-2020.sav")
> View(corona)
> head(corona)

is.character(子类)中的错误:缺少参数“子类”,没有默认值

> head(corona,n=3)

is.character(子类)中的错误:缺少参数“子类”,没有默认值

4

1 回答 1

1

由于您的对象是一个非常广泛使用的对象类(类“tbl_df”“tbl”“data.frame”),因此问题可能出在head()函数/方法上。在一个干净的R 会话中(即工作区中没有其他对象),只加载了haven和包,这可以正常工作:tidyverse

library(tidyverse)
library(haven)
dd <- tibble(x=1:5,y=2:6)
head(dd)

大约有 99% 的机会你以某种方式得到了一个奇怪的head定义版本(有 1% 的机会你的数据对象 ( corona) 很奇怪)。为确保它不是您的数据对象,我们需要一个可重现的示例,即您必须让我们访问您的数据文件或使用save()or转储的数据对象dput())。

如果find("head")返回“package:utils”以外的任何内容,那么您确实有一个不同的head()函数来屏蔽 base-R 版本。您可以通过使用utils::head()而不是head(). 如果奇怪的版本head()在您的全局工作区中(即find("head")返回“.GlobalEnv”),那么您可能想通过说rm("head").

或者,正如评论中所建议的那样,您可以查看您的代码是否在干净的R 会话中工作,即您没有加载其他包或在工作区中定义的对象。(重新启动 R 通常可以,但您需要确保您没有从以前的 R 会话恢复工作区。)

同时,如果您想对您的数据集进行“概览”,您也可以尝试使用summary()str().

于 2020-12-18T01:39:31.443 回答