我在R中尝试了一些代码,但是使用定义的函数无法响应。
factor_func_gender<-function(x){
x$Gender=factor(x$Gender,labels = c(0,1))
}
mixed_data=my_data$depressiondummy[2:30]
factor_func_gender(mixed_data)
我运行此代码。但它没有显示任何错误。我该怎么办?
答案 0 :(得分:2)
当@RuiBarradas打败我时,我只是在打字回答。
对于它的价值和重申,你的代码的两个问题是
factor_func_gender
不会返回修改后的data.frame
。factor_func_gender
时,您没有将函数的输出对象(即修改后的data.frame
)存储在新变量中。以下是解决这些问题的方法:
# Let's generate some sample data
set.seed(2017);
df <- data.frame(
Gender = rep(c("Male", "Female"), each = 5),
Value = runif(10));
# Define the function that returns a data.frame
factor_func_gender <- function(x) {
x$Gender <- factor(x$Gender, labels = c(0, 1));
return(x); # Return the dataframe
}
# Apply the function to a data.frame and store output in new data.frame
df.new <- factor_func_gender(df);
str(df.new);
#'data.frame': 10 obs. of 2 variables:
# $ Gender: Factor w/ 2 levels "0","1": 2 2 2 2 2 1 1 1 1 1
# $ Value : num 0.924 0.537 0.469 0.289 0.77 ...