[英]How can I summarize character columns in my dataframe in R?
对于数值列和因子列, summary()
提供了一些有助于理解数据的信息。 例如,这个 output 使用iris
数据集:
在这里,我们看到数字列的最小值、第 1 个四分位数、中位数、平均值、第 3 个四分位数和最大值,这有助于快速抽查。 我们还看到了因子列上的计数。
运行以下代码只是为了创建一个全字符列数据框并检查summary()
,我们得到的结果对于我的数据中的值的总结不是很有帮助(至少对于我的目的而言)有兴趣)。
iris2<-iris%>%
mutate_all(as.character)
summary(iris2)
一般来说,当我将summary()
与字符列一起使用时,我希望得到更像因子列的结果。
我意识到我可以将我的字符列转换为因子,然后运行summary()
如下所示:
iris3<-iris2%>%
mutate_all(as.factor)
summary(iris3)
有没有一种方法可以避免为了抽查我的数据而不得不采取额外的步骤? 我最终希望继续将数据作为字符列而不是因子来处理,并且不希望在数据类型之间来回切换。 如果这种转换发生在“幕后”,对我来说并不重要。 对于它的价值,在包含一些高频值的数字列的情况下扩展的summary()
也会很有趣。 提前感谢您在寻找方法方面的任何帮助。
如果要获取数据集的整体摘要, skim
可能很有用
skimr::skim(iris)
-输出
── Data Summary ────────────────────────
Values
Name iris
Number of rows 150
Number of columns 5
_______________________
Column type frequency:
factor 1
numeric 4
________________________
Group variables None
── Variable type: factor ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
skim_variable n_missing complete_rate ordered n_unique top_counts
1 Species 0 1 FALSE 3 set: 50, ver: 50, vir: 50
── Variable type: numeric ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
1 Sepal.Length 0 1 5.84 0.828 4.3 5.1 5.8 6.4 7.9 ▆▇▇▅▂
2 Sepal.Width 0 1 3.06 0.436 2 2.8 3 3.3 4.4 ▁▆▇▂▁
3 Petal.Length 0 1 3.76 1.77 1 1.6 4.35 5.1 6.9 ▇▁▆▇▂
4 Petal.Width 0 1 1.20 0.762 0.1 0.3 1.3 1.8 2.5 ▇▁▇▅▃
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.