我不太确定这里发生了什么,所以标题可能不是最准确的,版主,如果您认为需要,请随时修改它以使其更具描述性。我有几个关于各种基本输出的问题,我希望这是允许的。
无论如何,我从 pdf 复制了这个数据框,以便通过一个例子:
“考试 1”“考试 2”测验
2.0 和 4.0
3.3 一 3.7
4.0 b 4.0
2.3 天 3.3
2.3 和 3.3
3.3 和 4.0
作为
我不小心把“As”抄了下来,这是pdf中dataframe后面的句子的一部分。我使用以下代码导入它:
df<-read.delim("clipboard", sep=" ", as.is=F)
df
Exam.1 Exam.2 Quiz
1 2.0 a 4.0
2 3.3 a 3.7
3 4.0 b 4.0
4 2.3 d 3.3
5 2.3 a 3.3
6 3.3 e 4.0
7 As NA
问题1.)这里我不明白,为什么Exam.2没有列出NA?
在这一点上,我意识到我的错误,为了删除最后一行,我生成了以下代码,这里是事情变得奇怪的地方:
df1<-df[1:((nrow(df))-1),]
summary(df1)
Exam.1 Exam.2 Quiz
2.0:1 :0 Min. :3.300
2.3:2 a:3 1st Qu.:3.400
3.3:2 b:1 Median :3.850
4.0:1 d:1 Mean :3.717
As :0 e:1 3rd Qu.:4.000
Max. :4.000
问题2)我明白为什么df2$Exam.1列是因子,因为它继承了df$Exam.1的类,我不明白的是为什么df1的摘要仍然将“As”列为存在的东西?关于因子水平的信息是否编码到数据框的“父级”中,而 R 只是从原始 df 中提取它?另外,我在哪里可以阅读更多相关信息?
问题 3) 最后,为什么 df1$Exam.2 的摘要输出的第一行列出了“:0”。我最好的猜测是,因子不能有 NA 值,所以它只是留空?而不是将空白作为数据框的一部分?
编辑: 即使在我使用 rm(df) 所以有关父 df 的所有信息都应该从环境中消失后,我仍然在 df1
的摘要中列出“As”