다음과 같이 데이터 프레임과 열 목록이 있습니다. 내 열 이름 목록에서 값 기반을 변경하려고합니다. 즉 내 df 그 열이 열 목록과에서 일치하는 값이> 한 다음 다른 일에 그 값을 같은 값이면열 이름 목록을 기반으로 데이터 프레임의 값을 변경하는 방법
grp = c("A","A","A","A","A","A","A")
value_1 =c(10,21,33,31,423,132,245)
value_2 = c(0,0,NA,1.5,1.75,1,NA)
value_3 = c(10,30,NA,1.0,1.3,1.4,50)
value_4 = c(0,0,NA,1.5,1.75,1,NA)
value_5 = c(1,1.25,0,1.5,0,NA,0)
df = data.frame(grp,value_1,value_2,value_3,value_4,value_5)
lis = c('value_2','value_4','value_5')
내가 다음 코드
df1 = df %>%
mutate(lis = ifelse(names(df) >1,1,names(df)))
도움으로 애 쓰고 desired_df를 얻을 수 다음과 같이 출력을 얻으려면
grp_1 value_1 value_2 value_3 value_4 value_5
A 10 0 10 0 1
A 21 0 30 0 1
A 33 NA NA NA 0
A 31 1 1 1 1
A 423 1 1 1 0
A 132 1 1 1 NA
A 245 NA 50 NA 0
미리 감사드립니다.
가 보이는 – akrun
''df [lis] <- lapply (df [lis], function (x) replace (x, list = x> 1, 1)); df'. – A5C1D2H2I1M1N2O1R2T1