我正在尝试拟合KNN模型并使用R中的ISLR包中的Auto数据集获取决策边界。
在这里,我很难确定3类问题的决策边界。到目前为止,这是我的代码。我无法确定决策边界。
我在该网站的其他地方看到了使用ggplot解决此类问题的答案。但是我想使用plot函数以经典方式获得答案。
library("ISLR")
trainxx=Auto[,c(1,3)]
trainyy=(Auto[,8])
n.grid1 <- 50
x1.grid1 <- seq(f = min(trainxx[, 1]), t = max(trainxx[, 1]), l = n.grid1)
x2.grid1 <- seq(f = min(trainxx[, 2]), t = max(trainxx[, 2]), l = n.grid1)
grid <- expand.grid(x1.grid1, x2.grid1)
library("class")
mod.opt <- knn(trainxx, grid, trainyy, k = 10, prob = T)
prob_knn <- attr(mod.opt, "prob")
Run Code Online (Sandbox Code Playgroud)
我的问题主要是在此代码段之后。我非常确定我必须修改以下部分。但是我不知道如何。我是否需要在此处使用“嵌套的条件”?
prob_knn <- ifelse(mod.opt == "3", prob_knn, 1 - prob_knn)
prob_knn <- matrix(prob_knn, n.grid1, n.grid1)
plot(trainxx, col = ifelse(trainyy == "3", "green",ifelse(trainyy=="2", "red","blue")))
title(main = …Run Code Online (Sandbox Code Playgroud) 我想根据以下数据创建一个由 0 和 1 组成的矩阵。
id <-c(1,1,1,2,2,3)
x<- c(5,7,8,2,6,5)
data_toy <- data.frame(id,x)
data_toy%>% count(id)
> data_toy%>% count(id)
id n
1 1 3
2 2 2
3 3 1
Run Code Online (Sandbox Code Playgroud)
所以根据数据,我需要创建一个 6X3 矩阵,其中第一列应该是 (1,1,1,0,0,0),第二列应该是 (0,0,0,1,1,0) 所以在。
你能建议什么来做到这一点吗?
谢谢
我想在数据框中旋转多组变量。我的数据如下所示:
require(dplyr)
require(tidyr)
x_1=rnorm(10,0,1)
x_2=rnorm(10,0,1)
x_3=rnorm(10,0,1)
y_1=rnorm(10,0,1)
y_2=rnorm(10,0,1)
aid=rep(1:5,2)
data=data.frame(aid, x_1,x_2,y_1,y_2)
> data
aid x_1 x_2 y_1 y_2
1 1 -0.82305819 0.9366731 0.95419200 2.29544019
2 2 0.64424320 -0.2807793 0.51303834 0.02560463
3 3 -1.11108822 -0.2475625 0.05747951 -0.51218368
4 4 -1.04026895 -0.4138653 0.57751999 0.60942652
5 5 1.29097040 -1.7829966 1.59940532 0.75868562
6 1 -0.57845406 -1.0002074 0.04302291 0.86766265
7 2 0.08996163 -0.7949632 -2.10422124 -0.43432995
8 3 0.14331978 0.4203010 -1.12748270 0.14484670
9 4 -0.25207187 1.5559295 0.23621422 -0.04719046
10 5 -0.25617731 0.6241852 -1.21131110 1.02236458
Run Code Online (Sandbox Code Playgroud)
我想分别旋转 x …
我有以下一组数字10、17、5、7、15。从这些数字中,我需要找到总和小于或等于35的所有3个数字组合。在一个这样的组合中,特定数字不应包含一次以上。例如:10,10,5是不正确的组合,因为10重复了两次。
我尝试了这段代码,但没有给出我所需要的。
library(data.table)
df=expand.grid(x1=c(10,17,5,7,15),
x2=c(10,17,5,7,15),
x3=c(10,17,5,7,15)
)
setDT(df)
df[(x1+x2+x3) <= 35]
Run Code Online (Sandbox Code Playgroud)
上面代码输出的一部分如下,
x1 x2 x3
1: 10 10 10
2: 5 10 10
3: 7 10 10
4: 15 10 10
5: 5 17 10
6: 7 17 10
7: 10 5 10
Run Code Online (Sandbox Code Playgroud)
根据上述输出,可以看到一个数字出现了多次。任何人都可以建议获得预期结果的提示吗?
谢谢
我需要生成具有不同参数的随机数(二项式).我试图使用lapply函数来做到这一点.
到目前为止这是我的代码:
lst1 <- list(n=c(10,20), size=c(100,200), q=c(0.1,0.2)) #list of variables
lapply(lst1, function(x) {
rbinom(x[1],x[2],x[3])
})
Run Code Online (Sandbox Code Playgroud)
似乎有错误.
然后我也尝试了这种方式,
lapply(lst1, function(x) {
rbinom(x$n,x$size,x$q)
})
Run Code Online (Sandbox Code Playgroud)
我仍然收到错误.任何人都可以帮我弄清楚错误吗?
谢谢.