将列值转换为新值的R函数不起作用
我编写了一个函数,将每列中不为NA的值更改为一个新值。以下示例说明了该问题:将列值转换为新值的R函数不起作用,r,R,我编写了一个函数,将每列中不为NA的值更改为一个新值。以下示例说明了该问题: df <- data.frame(A=c(1,NA,1,1,NA), B=c(NA,1,NA,1,NA), C=c(1,NA,1,NA,1)) tha列的值保持不变。 为什么此功能不能按预期工作?您有 d[[v]][!is.na(d[[v]])] <- 0 编辑::您只是缺少了返回(d)语句。以下是一些基本的R解决方案: 一: 二: 三: data.f
df <- data.frame(A=c(1,NA,1,1,NA),
B=c(NA,1,NA,1,NA),
C=c(1,NA,1,NA,1))
tha列的值保持不变。
为什么此功能不能按预期工作?您有
d[[v]][!is.na(d[[v]])] <- 0
编辑::您只是缺少了返回(d)语句。以下是一些基本的R解决方案: 一: 二: 三:
data.frame(lapply(df, pmin, 0))
该函数在data.frame的本地副本上运行。如果要更改原始df,应返回该值,然后将其分配回原始df<代码>坎比奥太棒了!它起作用了。哦!这就是我略读的结果。
d[[v]][!is.na(d[[v]])] <- 0
cambio <- function(d,v){
d[[v]][is.na(d[[v]])] <- 0
return(d)
}
replace(df, df == 1, 0)
replace(df, !is.na(df), 0)
data.frame(lapply(df, pmin, 0))