로그 변환을 적용하여 R의 데이터 프레임 내부 값을 변경하려고합니다.데이터 프레임에 로그 함수 적용
내 데이터 프레임은 숫자 값으로 구성됩니다. 내가
logFunct <- function(x) log10(x)
dim(data.frame(logFunct(df))
모든 것이 잘 작동이 기능을 적용 할 때 (즉, 20 열 및 dataframe의 20 행 20 열 20 행의 새로운 dataframe로 반환됩니다). 나는이 기능을 0 값을 설명하려고 할 때
그러나 (내가 아는 한, 그것은 아마 못생긴 기능) :
log4Zero <- function(x) ifelse(x!=0, log10(x+0.00000000001), log10(1))
dim(data.frame(log4Zero(df))
내가 400 열 × 20 개 행을 얻었고, 0 값이 비로서 사로 잡았했다 -zero (0 대신 -11을 리턴).
누구나 여기서 무슨 일이 일어나고 있는지 설명 할 수 있습니다.이 문제를 어떻게 해결할 수 있습니까? 즉, 제로 값을 0으로 설정하고 추가 및 기록하는 다른 방법은 무엇입니까?
왜'로그 (X + 1)를 사용하지'일반적으로? –
내 가치가 꽤 낮습니다. 그 중 많은 수가 0.0001 이하입니다. 그러나 그 생각은 내가 믿는 것과 동일합니다. – kaka01
계산 후 결과를 다시 변환해도 문제가되지 않습니다. –