r中语句的含义?
Meaning of a statement in r?
我正在尝试调试 R
中的代码以便理解它。声明如下:
library(rpart)
X = read.csv("strange_binary.csv");
fit = rpart(c ~ X + X.1 + X.2 + X.3 + X.4 + X.5 + X.6 + X.7 + X.8 + X.9, method ="class",data=X,minbucket=1,cp=.04);
printcp(fit);
fit = prune(fit,cp=.04);
pred = predict(fit,X[,1:10],type="vector") # test the classifier on the training data
pred[pred == 2] = "bad"
pred[pred == 1] = "good"
目的是构建分类器并在训练数据上对其进行测试。但是,我不明白这些说法:
pred[pred == 2] = "bad"
pred[pred == 1] = "good"
pred==2
和 pred==1
将是 TRUE
或 FALSE
- 它是如何用于索引向量的?很抱歉我的天真问题,我来自 C++ 背景并在 R 中迈出了一小步。
感谢您的帮助!
这是一种说法:
将值 "bad" 分配给 pred 的子集,其中 pred 等于 2
pred[pred == 2] = "bad"
将值 "good" 赋给 pred 的子集,其中 pred 等于 1
pred[pred == 1] = "good"
一种更像 R 的赋值方式如下所示:
pred[pred == 2] <- "bad"
pred[pred == 1] <- "good"
因此它根据 pred 等于这两个值中的一个或另一个的逻辑创建 类。
编辑:
因为你在评论中也问了它是什么。我建议一次在一行以上执行您的代码。在每个阶段,您都可以使用以下命令查看更改的内容:str()
查看新变量的结构。它会通过一些示例为您提供数据的维度和类型。
str(fit)
str(pred)
它将帮助您了解每一步发生的事情。
我正在尝试调试 R
中的代码以便理解它。声明如下:
library(rpart)
X = read.csv("strange_binary.csv");
fit = rpart(c ~ X + X.1 + X.2 + X.3 + X.4 + X.5 + X.6 + X.7 + X.8 + X.9, method ="class",data=X,minbucket=1,cp=.04);
printcp(fit);
fit = prune(fit,cp=.04);
pred = predict(fit,X[,1:10],type="vector") # test the classifier on the training data
pred[pred == 2] = "bad"
pred[pred == 1] = "good"
目的是构建分类器并在训练数据上对其进行测试。但是,我不明白这些说法:
pred[pred == 2] = "bad"
pred[pred == 1] = "good"
pred==2
和 pred==1
将是 TRUE
或 FALSE
- 它是如何用于索引向量的?很抱歉我的天真问题,我来自 C++ 背景并在 R 中迈出了一小步。
感谢您的帮助!
这是一种说法: 将值 "bad" 分配给 pred 的子集,其中 pred 等于 2
pred[pred == 2] = "bad"
将值 "good" 赋给 pred 的子集,其中 pred 等于 1
pred[pred == 1] = "good"
一种更像 R 的赋值方式如下所示:
pred[pred == 2] <- "bad"
pred[pred == 1] <- "good"
因此它根据 pred 等于这两个值中的一个或另一个的逻辑创建 类。
编辑:
因为你在评论中也问了它是什么。我建议一次在一行以上执行您的代码。在每个阶段,您都可以使用以下命令查看更改的内容:str()
查看新变量的结构。它会通过一些示例为您提供数据的维度和类型。
str(fit)
str(pred)
它将帮助您了解每一步发生的事情。