我创建了这个小数据框:
employee <- c('Yossi ','Pitt ','Deepak','Golan')
salary <- c(21000, 23400, 26800,91000)
testd <- data.frame(employee,salary)
Run Code Online (Sandbox Code Playgroud)
我写的时候:
mean(testd$salary)
Run Code Online (Sandbox Code Playgroud)
我得到了正确答案:40550
但是当我试图计算大于25000的工资的平均值时,我得到了这个结果.
mean(testd$salary>=25000)
# [1] 0.5
Run Code Online (Sandbox Code Playgroud)
而不是由此计算组成的58900:(26800 + 91000)/ 2
我做错了什么?
我有一个数据框,其中包含大约100个我想要更改为数字类型的因子变量.我怎样才能完成整个数据框?我知道我可以通过使用此代码为每个变量执行此操作:dat$.Var2<-as.numeric(dat$.Var2)
但我想为很多变量执行此操作.这是一个示例数据框.
dat <- read.table(text = " TargetVar Tar_Var1 Var2 Var3
0 0 0 7
0 0 1 1
0 1 0 3
0 1 1 7
1 0 0 5
1 0 1 1
1 1 0 0
1 1 1 6
0 0 0 8
0 0 1 5
1 1 1 4
0 0 1 2
1 0 0 9
1 1 1 2 ", header = TRUE)
Run Code Online (Sandbox Code Playgroud) 我希望有一个列表或表格,在"target"变量中显示"1"和"0"的百分比,如下例所示:数据示例:
dat <- read.table(text = " target birds wolfs snakes
0 3 8 7
1 3 8 7
1 1 2 3
0 1 2 3
0 1 2 3
1 6 1 1
0 6 1 1
1 6 1 1",header = TRUE)
Run Code Online (Sandbox Code Playgroud)
所需的输出列表:
birds wolfs snakes target=1 target=0 percentage
3 8 7 1 1 0.50
1 2 3 1 2 0.33
6 1 1 2 1 0.66
Run Code Online (Sandbox Code Playgroud)
任何想法如何设置这样的列表?
我已经建立了一个随机森林模型,当我编写两行不同的代码来生成预测时,我得到了两个不同的预测结果。我想知道哪一个是正确的。这是我的示例数据框和使用的代码:
dat <- read.table(text = " cats birds wolfs snakes
0 3 9 7
1 3 8 4
1 1 2 8
0 1 2 3
0 1 8 3
1 6 1 2
0 6 7 1
1 6 1 5
0 5 9 7
1 3 8 7
1 4 2 7
0 1 2 3
0 7 6 3
1 6 1 1
0 6 3 9
1 6 1 1 ",header = TRUE)
Run Code Online (Sandbox Code Playgroud)
我建立了一个随机森林模型:
model<-randomForest(snakes~cats+birds+wolfs,data=dat,ntree=20)
RF_pred<- …Run Code Online (Sandbox Code Playgroud) 我已经使用dir.createfunction创建了一个文件夹,但是当我尝试使用unlinkfunction删除它时,我没有成功。我该如何克服这个问题?这是我的玩具代码:
NewFolder<-dir.create("C://TestFolder")
unlink(NewFolder, recursive = T)
Run Code Online (Sandbox Code Playgroud)