2017-04-27 2 views
0

화합물 농도의 CSV 테이블을 받았습니다. 여기 저기에 흩어져있어 > 888, <0.2, / 등과 같이 다양한 의미의 문자 값이 있습니다.csv 읽기 중에 문자열을 NA로 변환

바람직하게는 기수 R 또는 readr을 사용하여 수치를 데이터로 읽어들이면서 NA으로 변환하는 방법이 있습니까?

현재로서는 a solution that relies on hard-coding every character string만이 너무 어렵고 시간이 오래 걸릴 수 있습니다.

+0

CSV 파일을 읽을 때 당신은'na.strings' 같은 사람을 지정하려고 있나요? –

+0

이것은 연결된 답변의 해결책이지만, 어떻게 이것이 지정된 문자열이 아닌 모든 문자열에 적용될 수 있는지 궁금합니다. – Joe

+0

링크 된 게시물에서 허용되는 답변이 다릅니다. 그런 다음 질문은 당신이 어떤 가치가 있는지 알 수있는 방법이 있는지 여부입니다. 그렇지 않다면 완전히 읽어야하고 나중에 as.numeric을 사용하여 변환해야 할 것 같습니다. –

답변

1

당신이 그들을 읽고 나면, 단지 as.numeric를 사용 ...

a <- c("1","2","3",">4","5","6-7","8+","9") 

as.numeric(a) 
1 2 3 NA 5 NA NA 9 
+0

고마워요. 그러나 호기심에서 읽는 과정에서 할 수 있을지 궁금해했습니다. (데이터가 이미 R에 들어 오면 여러 가지 방법이있을 것입니다.) – Joe

+0

쉬운 방법을 모르겠습니다. 어쨌든 코드를 수락할지 거부 할지를 결정할 수 있도록 각 항목을 읽어야하므로 효율성 측면에서 모든 것을 읽은 다음 정리를하는 것이 좋습니다. –

+0

나는 당신의 요점을 이해합니다. – Joe