Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 自动定义表和列从统计数据包(如SPSS)创建RDBMS_Sql_R_Rdbms_Spss - Fatal编程技术网

Sql 自动定义表和列从统计数据包(如SPSS)创建RDBMS

Sql 自动定义表和列从统计数据包(如SPSS)创建RDBMS,sql,r,rdbms,spss,Sql,R,Rdbms,Spss,使用什么工具可以自动或半自动(即提供良好的启动)从统计软件包(如SPSS)获取矩形数据的过程,以及: 以数据库可以读取的文本格式保存主矩形数据 保存其他参考表的附加文件(例如值标签) 使用SQL起草脚本或批处理文件(可能需要手工修改),以在数据库中创建表和列,并将文本文件作为相关表中的数据行导入 我怀疑完全自动化是可能的,但这一定是一项相当普遍的任务。我们有十几个这样的数据集,其中一些包含几百个变量,我们希望在关系数据库中设置这些数据集(Oracle,如果这有什么区别的话)。除了高昂的成本外

使用什么工具可以自动或半自动(即提供良好的启动)从统计软件包(如SPSS)获取矩形数据的过程,以及:

  • 以数据库可以读取的文本格式保存主矩形数据
  • 保存其他参考表的附加文件(例如值标签)
  • 使用SQL起草脚本或批处理文件(可能需要手工修改),以在数据库中创建表和列,并将文本文件作为相关表中的数据行导入
我怀疑完全自动化是可能的,但这一定是一项相当普遍的任务。我们有十几个这样的数据集,其中一些包含几百个变量,我们希望在关系数据库中设置这些数据集(Oracle,如果这有什么区别的话)。除了高昂的成本外,手工操作在概念上没有任何困难

我觉得一定有这样一个工具可用,但我显然是在错误的地方搜索或使用错误的术语


(编辑-添加了R标记,因为在我自己的回答中,我将其用作解决方案的一部分)

在SPSS统计中,输出管理系统(OMS)可以将任何输出表捕获为数据集。统计数据可以将数据集直接写入数据库,也可以保存为CSV文件或其他格式。关于后者,请参见保存翻译

嗯,,
乔恩·佩克(Jon Peck)

好的,经过进一步的调查(感谢我得到的答案,虽然不是很充分,但很有帮助),我现在赞成:

  • 将数据与外部包一起带入R eg
  • 为我需要的每个参考表创建数据框
  • 将原始因子替换为
    as.numeric()
    unclass()
    版本,因此它只是数字,而不是标签
  • 使用RODBC包中的
    sqlSave()
    将主数据和参考表保存到数据库中
  • 步骤2通过以下一个小功能实现:

    factorToRef <- function(x, field){
        tmp <- levels(x)
        tab <- data.frame(1:length(tmp), tmp)
        names(tab) <- paste(field, c("_ID","_NAME"), sep="")
        tab
    }
    

    这就是要保存在数据库中的参考表的基础。

    谢谢,这很有用。但是,它看起来似乎将文件保存为单个表。我感兴趣的是这样一种情况:我有许多问题的答案编码为1到5,我希望将数据保留为1到5,但链接到一个存储值标签的参考表,即1=“强烈不同意”,2=“不同意”,等等。这将比将原始变量存储为字符串更有效。也许我太懒了,如果我希望有一个工具来为我做这一切。
    > data(iris)
    > factorToRef(iris$Species, "species" )
      species_ID species_NAME
    1          1       setosa
    2          2   versicolor
    3          3    virginica