我希望能够在我的数据框中运行一个函数,该函数将仅查找连续变量,并根据将连续变量分为2个相等大小的组添加新的类别变量。 我有一段代码,用于将变量分成组并将其作为新的类别变量添加,但是当我尝试在函数中使用它时,它不起作用。可能是什么问题? 另外,如何避免运行非连续变量?以下是一个玩具数据框:
df <- read.table(text = " birds wolfs
9 7
8 4
2 8
2 3
8 3
1 2
7 1
1 5
9 7
8 7 ",header = TRUE)
我的函数是:
for (i in names(df)) function (x) { as.factor( as.numeric( cut(df$i,2))) }
df$i
。我会使用df[,i]
。其次,输出需要存储在另一个对象中。它没有被定义。 - akrunlst <- vector('list', ncol(df)); for(i in seq_along(df)) {lst[[i]] <- as.factor(as.numeric(cut(df[,i], 2)))}
- akrundf[paste0(names(df), 'new')] <- lapply(df[,sapply(names(df), function(x) is.numeric(df[,x]))], function(x) factor(cut(x, 2, labels=FALSE)))
。 - ulfelderlapply(df1,function(x)!all(x%in%0:1)&is.numeric(x))
- akrun