[英]Column data types classification in R
我有一个数据库。 如何获取所有列类型,并将其保存到文件中。 特殊类型: - Float - Integer - BigInteger - String
我的代码是:
library(foreign)
library(memisc)
data <- read.spss("data.sav", use.value.labels = FALSE, max.value.labels = 100)
write.table(summary(data), "out.txt")
但是,此代码仅区分两种类型的数据...(数字,字符串)
出样品:
Length Class Mode
SubsID 20582 -none- numeric
SubsID_RN 20582 -none- character
responseid 20582 -none- numeric
所需产量:
SubsID BigInteger
SubsID_RN String
responseid Integer
在R中,类型系统与许多其他常见语言的工作方式不同。 首先,R中的所有内容都是一个对象,其中一个基本对象类型是vector
。 向量本身的类型由它包含的数据定义。 有六种原子矢量类型可以通过typeof
函数访问。 在R文档中,您可以找到下表
+------------+----------+--------------+
| typeof | mode | storage.mode |
+------------+----------+--------------+
| logical | logical | logical |
| integer | numeric | integer |
| double | numeric | double |
| complex | complex | complex |
| character | character| character |
| raw | raw | raw |
+------------+----------+--------------+
如您所见,float和double或Integer和BigInteger之间没有区别。 String也只是一个字符。
所以在你的情况下,如果你想知道每个变量的具体基本类型,你可以使用
lapply(data, typeof)
R文档提供了有关对象和基本类型的更多信息: http : //cran.r-project.org/doc/manuals/r-release/R-lang.html#Objects
您可以像这样调用列或类的列:
lapply(your_data_frame, class)
lapply(your_data_frame, typeof)
在R. cf.中没有'BigInteger'这样的东西。 数据结构在hadley的adv-r中有更详细的解释
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.