【发布时间】:2016-07-27 10:28:42
【问题描述】:
我有一个名为 Cat 的数据框。我有多个专栏。在一个名为 Jan.15_Transaction 我有价值观。我想应用一个条件,如果值大于 0,则 1 else 0。所以我不想使用 if else 条件,因为有 42 列与此类似,我想在其中应用相同的相同逻辑。
Jan.15_Transaction Feb.15_Transaction
1 1
2 2
3 3
4 4
因此我构建了这个函数
myfunc <- function(x){
if(x > 0){
x=1
}
else {
x=0
}
return(x)
}
仅当我使用此代码时才会将其应用于第一个元素。
Cat$Jan.15_Transaction.1<-myfunc(Cat$Jan.15_Transaction)
警告信息: 如果 (x > 0) { : 条件的长度 > 1,并且只使用第一个元素
所以我尝试了 sapply 并在下面得到了这个错误
sapply(Cat$Jan.15_Transaction.1, myfunction(Cat))
match.fun(FUN) 中的错误:缺少参数“FUN”,没有默认值
【问题讨论】:
-
也许
cbind(mydf, as.numeric(mydf[, mySubsetofColumns] > 0))? -
请将错误信息添加到您的帖子中。
标签: r