gpt4 book ai didi

r - 在 R 中编写函数

转载 作者:行者123 更新时间:2023-12-01 10:40:29 26 4
gpt4 key购买 nike

在大量使用 SAS 后,我对 R 越来越熟悉,并且我很快发现 R 中的函数的行为与 SAS 中的宏不同,因此我需要一些指导。

这是我的功能不起作用:

dscore<-function(data,var){

ave<-mean(data$var)
sd<-sd(data$var)

data$vardscore<-(data$var-ave)/sd


return(data)
}

我正在使用汽车数据集

cars<-dscore(cars,speed)

应该给我返回 cars 数据框,其中包含一个附加列,即该观察的速度变量的 Cohen D 值。

我遇到了各种疯狂的错误,所以我很感激任何帮助。

编辑:

dbind<-function(data,var){
var<-substitute(var)
var<-as.character(var)
ave<-mean(data[,var])
sd<-sd(data[,var])
name<-paste0(var,"dscore")
data$name=((data[,var]-ave)/sd)
return(data)
}

我需要帮助根据输入动态命名新列。现在我刚得到一个名为“name”的新列

最佳答案

您不能对变量使用 $ 符号。试试看:

data[,var]

var 必须是一个字符,例如“速度”

dscore<-function(data,var){

ave<-mean(data[,var])
sd<-sd(data[,var])

data[,paste0(var,"dscore")]<-(data[,var]-ave)/sd


return(data)
}

cars<-dscore(cars,var="speed")

关于r - 在 R 中编写函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com