【发布时间】:2018-03-29 00:11:01
【问题描述】:
我有一个大数据库,但对于这个练习,让我们使用这个:
c-1 c-2 c-3 c-4 c-5 c-6
1-14 14-29 NA NA NA NA
60-90 CF CF CF CF CF
C 1-14 14-29 CF NA NA
60-90 CF CF CF NA NA
我想要的是将之前在列中获得 CF 的所有列更改为 HF,因此它看起来像这样:
c-1 c-2 c-3 c-4 c-5 c-6
1-14 14-29 NA NA NA NA
60-90 CF HF HF HF HF
C 1-14 14-29 CF NA NA
60-90 CF HF HF NA NA
我尝试过这样的应用,但它不能正常工作
function_a <- function (x) {ifelse(df[,i]=="CF" & df[,i-1]=="CF", "HF", df[,i])}
new_df<- as.data.frame(lapply(length(df):1, function_a))
请记住,如果上一列不是 CF,我想保留原始值,有没有简单的方法可以做到这一点?在 R 基础上?
【问题讨论】:
-
所有列都是
character吗?这是在所有列中,还是只是在特定分组或命名的列之上?
标签: r dataframe multiple-columns apply