2012-06-18 5 views
0

누락 된 데이터는 텍스트 파일에 9999.00, 9999.0 및 9999.000으로 표시됩니다. 나는에 지정하는 경우 : Rcmdr에서 NA에 다른 값을 할당하는 방법은 무엇입니까?

Rcmdr->data->import->missing data indicator as 9999,nothing will be assigned to NA. 

    but when I assigned to 9999.0 then only the values of 9999.0 are assigned to NA. 

는 Rcmdr 내에서 NA에 다른 값을 할당하는 방법에 대한-아이디어가있다.

 Dataset <- 
    read.table("C:/Users/BRSa12002_L4_d.txt", 
    header=TRUE, sep=",", na.strings="-9999.00", dec=".", strip.white=TRUE) 
+0

저는 Rcmdr을 사용하지 않습니다 (R로 이것을하는 것은 간단합니다). 그러나 빠른 해결 방법은 텍스트 편집기를 사용하여이 값을 NA로 바꾸는 것입니다. – Roland

+0

난 그냥 원시 데이터를 읽고 해당 값을 손으로 NA로 설정합니다. my.obj [my.obj == 999.0] <- NA;의 라인을 따라 뭔가가 있습니다. my.obj [my.obj == 999.00] <- NA'. 값을 인수로 읽는 것으로 가정합니다. 우리가 가져 오려고하는 파일의 머리글을 보거나, 더 좋게는 가져온 파일의'str '을 볼 수 있다면 좋을 것입니다. –

답변

1

?read.table에서 우리는 na.strings 인수가 벡터를 취한다는 것을 알게됩니다. 따라서 이것을 사용하여 여러 다른 값을 NA로 지정할 수 있습니다.

Dataset <- read.table("C:/Users/BRSa12002_L4_d.txt", 
       header=TRUE, sep=",", 
       na.strings=c("-9999.00","-9999.0","-9999"), 
       dec=".", strip.white=TRUE) 
+0

예, 트릭을했습니다. – sacvf

1

Rcmdr 그냥 메뉴 GUI, 그래서 아마 표준 입력 기능을 사용 다음은 코드가 추가됩니다. read.table 함수는 값을 문자열로 처리합니다. read.table 함수의 매개 변수는 na.strings입니다. 나는 그것이 수치 적으로 동일한지를 알기 위해 입력을 평가한다는 것을 진지하게 의심한다. 기본 문자열은 "NA"입니다. 나는 Rcmdr 사용자는 아니지만 내 예측은 그 기능을 "9999"와 "9999.0"둘 다 제공하고 원하는 동작을 얻을 수 있다는 것입니다. 진짜 질문은 입력 데이터 스트림에있는 것입니다. 아직 그 질문에 대해 설명하지 않았습니다.

대답을 얻는 가장 좋은 방법은 메뉴 구동 명령을 실행할 때 나타나는 R 코드를 복사하는 것입니다. 그런 다음 R 코드에 적절한 문자열을 추가하여 원하는 위치로 이동할 수 있습니다. Rcmdr이 완전한 답을 얻지 못할 수도 있습니다. 명령 줄 R을 이해하는 데 익숙해 진 초보자 용 방법으로 설계되었습니다. (대부분의 사람들이 다른 경로를 사용하고 처음부터 명령 줄에서 R을 사용하기 시작했습니다. 비트.)

+0

위 코드를 추가했습니다. – sacvf

관련 문제