我是R世界中的新手,必须创建一个向量。
data <- rnorm(10, 0, 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) }
教授还建议从前重新使用循环。
答案 0 :(得分:0)
我相信这就是您要寻找的。请注意如何在函数中使用ifelse而不是if和else函数。如您所见,该函数将数字字符串作为输入,但我添加了一个实例,该实例在您创建的先前数据上运行。但是,我想补充一点,这些练习的目的实际上是让我们挠头并尝试自己解决问题,因此,我建议您坚持下次尝试:)
data <- rnorm(10, 0, 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)