programing

Ropenxlsx 패키지.NA를 빈칸으로 쓰시겠습니까?

css3 2023. 8. 18. 22:52

Ropenxlsx 패키지.NA를 빈칸으로 쓰시겠습니까?

저는 openxlsx 패키지를 사용하여 엑셀 파일을 읽고 쓰고 있습니다.

write.xlsx(MyData, file="MyFile.xlsx")를 사용하여 테이블을 Excel로 내보낼 때 파일이 Excel에서 열리면 NA가 #Num!로 나타납니다.

그냥 빈칸으로 수출할 수 있는 옵션이 있나요?나는 구글링을 하고 쇼와 같은 옵션들을 시도했습니다.NA 또는 유지NA 하지만 그들은 아무런 효과가 없는 것 같습니다.

저는 반대표를 이해할 수 없습니다.어떤 사람들은 모든 NA를 수동으로 변환할 필요 없이 옵션만 사용하여 작업을 수행하는 방법을 알고 있을 것이라고 생각했습니다.

다른 사용자들에게 중요하고 유용할 수 있다고 생각하기 때문에 openxlsx의 github 개발 페이지에서도 질문을 했고 그들은 다음과 같이 대답했습니다.

 https://github.com/awalker89/openxlsx/issues/108#issuecomment-125142950

관심 있는 사람이 있다면, 만약 당신이 개발 버전으로 업데이트한다면.

 devtools::install_github("awalker89/openxlsx")

이 기능에 대한 지원을 받을 수 있습니다.

현재 기본 동작은 NA를 공백으로 변환하는 것입니다. 그리고 #N/A를 가지려면 keep 옵션을 사용해야 합니다.NA = TRUE 옵션 유지NA = TRUE는 #N/A를 유지합니다.

require('openxlsx')
df <- head(iris)
df[2,3] <- NA
df[2,5] <- NA
df[3,5] <- NaN
openXL(write.xlsx(df, file = tempdir()))

enter image description here

 require('openxlsx')
 df <- head(iris)
 df[2,3] <- NA
 df[2,5] <- NA
 df[3,5] <- NaN
 openXL(write.xlsx(df, file = tempdir(), keepNA = TRUE))

enter image description here

좋은 질문입니다!저도 보고 있던 것 중 하나입니다.기본 동작은 다음을 출력하는 것이라고 생각합니다.NA값을 공백 값그러나 예제 코드에 표시된 것처럼 두 가지 모두가 있습니다.NA그리고.NaN가치.하나 이상의 존재NaN열에 있는 값은 모두가 됩니다.NA그리고.NaN해당 열의 값이 Excel에 다음과 같이 표시됩니다.#NUM!.

이 문제를 해결하려면 의 모든 인스턴스를 바꿉니다.NaN와의 파일에서NA파일을 내보내기 전에:

df[is.na(df)] = NA

의 사용에 주의합니다.is.na보다는is.nanx가 data.frame일 때.

참고: 대용량 데이터 프레임에서 NaN 값을 0으로 대체하는 방법은 무엇입니까?

워크북을 저장하기 전에 워크북을 만드는 것이 좋습니다.

wb <- createWorkbook()
addWorksheet(wb, "Sheet 1")
writeData(wb, 1, keepNA = T, df)
saveWorkbook(wb, file = "keepNA.xlsx")

언급URL : https://stackoverflow.com/questions/31628440/r-openxlsx-package-writing-na-as-blanks