如何使用R创建SPSS Modeler数据

时间:2017-03-09 11:20:06

标签: r spss-modeler

我正在使用SPSS Modeler并安装了Essentials for R。

我试图让一个非常简单的测试用例工作,我将数据发送到R Transform节点并用R中创建的数据覆盖数据。

在下面的示例中,我使用Iris数据集(在R中本机可用),并尝试通过覆盖modelerData变量将该数据返回到Modeler流,然后将所需的元数据添加到modelerDataModel:

data = iris[-5]
modelerData = data

modelerDataModel <- c(fieldName="Sepal Length", fieldLabel="",fieldStorage="real", fieldMeasure="", fieldFormat="", fieldRole="")

cnm = c(fieldName="Sepal Width", fieldLabel="",fieldStorage="real", fieldMeasure="", fieldFormat="", fieldRole="")
modelerDataModel <- cbind(modelerDataModel, cnm)

cnm = c(fieldName="Petal Lenth", fieldLabel="",fieldStorage="real", fieldMeasure="", fieldFormat="", fieldRole="")
modelerDataModel <- cbind(modelerDataModel, cnm)

cnm = c(fieldName="Petal Width", fieldLabel="",fieldStorage="real", fieldMeasure="", fieldFormat="", fieldRole="")
modelerDataModel <- cbind(modelerDataModel, cnm)

运行Modeler Stream时,我收到以下错误消息;

[2017-03-09 12:17:44] Cannot get data model: Invalid R CF Component Data Model format in R object "modelerDataModel".

此错误消息似乎完全没有用,因为我似乎无法在任何地方找到任何解释“无效的R CF组件”的含义。有谁知道出了什么问题?

编辑:这里有一个快速的样本,说明如果有人想知道,虹膜日期是什么样的:

> iris[-5]
    Sepal.Length Sepal.Width Petal.Length Petal.Width
1            5.1         3.5          1.4         0.2
2            4.9         3.0          1.4         0.2
3            4.7         3.2          1.3         0.2
4            4.6         3.1          1.5         0.2
5            5.0         3.6          1.4         0.2
6            5.4         3.9          1.7         0.4
7            4.6         3.4          1.4         0.3
8            5.0         3.4          1.5         0.2
9            4.4         2.9          1.4         0.2
10           4.9         3.1          1.5         0.1

2 个答案:

答案 0 :(得分:2)

我在搜索相同的错误时发现了您的问题。要解决此错误,请应用该功能 data.frame() 到脚本结束之前的modelerData和modelerDataModel。

答案 1 :(得分:0)

data(iris)
modelerData <- data.frame(iris)

m1 <- c(fieldName="Sepal.Length",fieldLabel="",fieldStorage="real",fieldMeasure="",fieldFormat="",fieldRole="");
m2 <- c(fieldName="Sepal.Width",fieldLabel="",fieldStorage="real",fieldMeasure="",fieldFormat="",fieldRole="");
m3 <- c(fieldName="Petal.Length",fieldLabel="",fieldStorage="real",fieldMeasure="",fieldFormat="",fieldRole="");
m4 <- c(fieldName="Petal.Width",fieldLabel="",fieldStorage="real",fieldMeasure="",fieldFormat="",fieldRole="");
m5 <- c(fieldName="Species",fieldLabel="",fieldStorage="string",fieldMeasure="",fieldFormat="",fieldRole="");
modelerDataModel <- data.frame(cbind(m1,m2,m3,m4,m5))

这是虹膜数据集的示例。您可以删除物种。

modelerData和modelerDataModel必须是数据帧。