我使用R并使用read.csv()将数据加载到数据帧中。如何确定数据帧中每一列的数据类型?
当前回答
另一种选择是使用purrr包的map函数。
library(purrr)
map(df,class)
其他回答
简单地传递你的数据帧到下面的函数:
data_types <- function(frame) {
res <- lapply(frame, class)
res_frame <- data.frame(unlist(res))
barplot(table(res_frame), main="Data Types", col="steelblue", ylab="Number of Features")
}
生成数据帧中所有数据类型的图表。对于虹膜数据集,我们得到以下结果:
data_types(iris)
sapply(yourdataframe, class)
你的dataframe是你正在使用的数据帧的名称
为了方便使用数据框架,这里有一个简单的base函数
col_classes <- function(df) {
data.frame(
variable = names(df),
class = unname(sapply(df, class))
)
}
col_classes(my.data)
variable class
1 y numeric
2 x1 integer
3 x2 logical
4 X3 character
如果你以data.frame(而不是matrix)的形式导入csv文件,你也可以使用summary.default
summary.default(mtcars)
Length Class Mode
mpg 32 -none- numeric
cyl 32 -none- numeric
disp 32 -none- numeric
hp 32 -none- numeric
drat 32 -none- numeric
wt 32 -none- numeric
qsec 32 -none- numeric
vs 32 -none- numeric
am 32 -none- numeric
gear 32 -none- numeric
carb 32 -none- numeric
要获得一个带有类型和类的漂亮Tibble:
purrr::map2_df(mtcars,names(mtcars), ~ {
tibble(
field = .y,
type = typeof(.x),
class_1 = class(.x)[1],
class_2 = class(.x)[2]
)
})
推荐文章
- 不可变与可变类型
- 字符串不能识别为有效的日期时间“格式dd/MM/yyyy”
- 使用该集合的原因。种子功能
- 加快R中的循环操作
- 我如何在熊猫中找到数字列?
- 错误:无法找到函数…在R
- 在编写自己的函数时,如何使用R的省略号特性?
- 当我的ggplot2语法合理时,我如何处理R CMD检查“全局变量无可见绑定”注释?
- 如何解窝(爆炸)在一个熊猫数据帧列,成多行
- 如何将表转换为数据帧
- 转换data.frame列到向量?
- IEEE 754浮点数不能精确表示的第一个整数是哪一个?
- c++中size_t和int的区别是什么?
- 如何将颜色分配给ggplot2中具有稳定映射的类别变量?
- 在基础图形的绘图区域之外绘制一个图例?