如何解决在R中创建一个称为clean_data的函数
我是R世界中的新手,必须创建一个向量。
data <- rnorm(10,1)
下一个问题要求循环,所以我这样做:
for(i in 1:length(data)){
if(data[i] > 0)
print("postive")
else
print("negative")
但是现在它要求:
”编写一个称为“纯数据”的函数,该函数接收一个数字向量,并返回相同长度的向量“ ret”,如果输入向量ith元素为正,则ret [i] = 1,而ret [ i] = 0否则,要开始使用,请为您的函数创建一个单独的R块并使用以下外壳程序:
clean data <- function(input){ # your code here [...]
# ...
# your code here [...] return(ret) }
教授还建议从前重新使用循环。
解决方法
我相信这就是您要寻找的。请注意如何在函数中使用ifelse而不是if和else函数。如您所见,该函数将数字字符串作为输入,但我添加了一个实例,该实例在您创建的先前数据上运行。但是,我想补充一点,这些练习的目的实际上是让我们挠头并尝试自己解决问题,因此,我建议您坚持下次尝试:)
data <- rnorm(10,1)
for(i in 1:length(data)){
if(data[i] > 0) print("positive") else print("negative")
}
clean_data <- function(input){
ret <- NULL
for(i in 1:length(input)){
ifelse(input[i] > 0,ret[i] <- 1,ret[i] <- 0) # note ifelse structure
}
return(ret)
}
clean_data(data)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。