원래 Excel에서 포맷 된 CSV 파일로 작업하고 있습니다. 비율 열을 숫자로 변환하고 "$"기호를 제거하고 싶습니다. 나는 변환을 수행 할 때r 데이터 프레임에서 열 클래스를 설정하는 동안 ####에서 NA로 오류 제거하기
HH.IMP..000. ISCI Creative Program Rate
1 NA IT3896 Rising Costs30 (Opportunity Scholar - No Nursing) NUVO CINEMA $0.00
2 NA IT3896 Rising Costs30 (Opportunity Scholar - No Nursing) NUVO CINEMA $0.00
3 141 IT14429 Rising Costs30 (Opportunity Scholar - No Nursing) BONUS $0.00
4 476 ITES15443H Matthew Traina (B. EECT/A. CEET) :60 (no loc) Law & Order: SVU $0.00
5 NA IT3896 Rising Costs30 (Opportunity Scholar - No Nursing) NUVO CINEMA $0.00
, 나는 오류 메시지가 : 데이터 프레임은 다음과 같습니다 > NImp <- read.csv("National_TV_Spots 6_30_14 to 8_31_14.csv", sep=",", header=TRUE, stringsAsFactors=FALSE, strip.white=TRUE, na.strings=c("Not Monitored"))
:
내가 가진 파일을 읽어> NImp$Rate <- as.numeric(gsub("$","", NImp$Rate)) Warning message: NAs introduced by coercion
모든 값을 강요받을 NAs.
나는 또한 시도했다, NImp$Rate <- as.numeric(sub("\\$","", NImp$Rate))
그러나 다시 동일한 경고 메시지를 얻었다. 그러나 모든 가치가 NA가되는 것은 아닙니다. 나는 csv를 엑셀로 열었고, csv 열 너비를 너무 좁혀서 "####"셀을 생성한다는 것을 깨달았습니다. 이 셀은 r
에 의해 "NA"로 강제 변환됩니다.
메모장에서 파일을 열고 메모장 파일을 r
으로 읽는 옵션을 시도했습니다. 그러나 나는 같은 결과를 얻는다. 값은 메모장과 파일을 r
으로 읽을 때 올바르게 표시됩니다. 그러나 숫자로 변경하면 Excel에서 "####"로 표시되는 모든 내용이 NA
이됩니다.
어떻게해야합니까? 열이 Excel에서 "환율"로 설정 str(NImp)
'data.frame': 9859 obs. of 19 variables:
$ Spot.ID : int 13072903 13072904 13072898 13072793 13072905 13072899 13072397 13072476 13072398 13072681 ...
$ Date : chr "6/30/2014" "6/30/2014" "6/30/2014" "6/30/2014" ...
$ Hour : int 0 0 0 0 0 0 1 1 1 2 ...
$ Time : chr "12:08 AM" "12:20 AM" "12:29 AM" "12:30 AM" ...
$ Local.Date : chr "6/30/2014" "6/30/2014" "6/30/2014" "6/30/2014" ...
$ Broadcast.Week : int 1 1 1 1 1 1 1 1 1 1 ...
$ Local.Hour : int 0 0 0 0 0 0 1 1 1 2 ...
$ Local.Time : chr "12:08 AM" "12:20 AM" "12:29 AM" "12:30 AM" ...
$ Market : chr "NATIONAL CABLE" "NATIONAL CABLE" "NATIONAL CABLE" "NATIONAL CABLE" ...
$ Vendor : chr "NUVO" "NUVO" "AFAM" "USA" ...
$ Station : chr "NUVO" "NUVO" "AFAM" "USA" ...
$ M18.34.IMP..000.: int NA NA 3 88 NA 3 NA 53 NA 37 ...
$ W18.34.IMP..000.: int NA NA 86 66 NA 86 NA 70 NA 60 ...
$ A18.34.IMP..000.: int NA NA 89 154 NA 89 NA 123 NA 97 ...
$ HH.IMP..000. : int NA NA 141 476 NA 141 NA 461 NA 434 ...
$ ISCI : chr "IT3896" "IT3896" "IT14429" "ITES15443H" ...
$ Creative : chr "Rising Costs30 (Opportunity Scholar - No Nursing)" "Rising Costs30 (Opportunity Scholar - No Nursing)" "Rising Costs30 (Opportunity Scholar - No Nursing)" "Matthew Traina (B. EECT/A. CEET) :60 (no loc)" ...
$ Program : chr "NUVO CINEMA" "NUVO CINEMA" "BONUS" "Law & Order: SVU" ...
$ Rate : chr "$0.00" "$0.00" "$0.00" "$0.00" ...
입니다. 'as.numeric (sub ("\\ $", "", df $ Rate))'나를 위해 작동 –
무엇이 문제의 원인인지는 모르지만, 1) "\\ $"는 ($는 문자열의 끝과 일치합니다.) 2) csv 파일을 표시하는 방법이 중요하지 않으므로 #### – konvas
에 대해 걱정하지 마십시오. "####"셀은 실제로 "$ 1200.00"입니다. csv 파일은 Excel 형식으로되어 있습니다. 메모장으로 저장하면 행과 열이 토스 (toss)로 바뀝니다. 내가 추측하는 쉼표 값과 관련이 있습니다. Excel은 "$ 1200.00"의 열 너비를 줄이며 "r"이 "na"로 읽는 "####"이됩니다. 그 혼란. – vagabond