我正在使用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
答案 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必须是数据帧。