2017-11-16 17 views
0

Rstudio에서 다음 data으로 작업하고 있습니다. 데이터에 열 이름을 지정하려고합니다. 나는 다음과 같은 명령을 사용했다 :테이블에 열 이름을 할당하는 방법

nlsdata -> read.table("C:/Users/perdue/Desktop/Adv.MicroEconometrics/HA 3/data/nls.dat", header = FALSE, dec = ".")

^이 명령 반환을 첫 번째 행의 열 이름 'V1 V2 V3 ... V52'로. 오류 메시지가 구문 오류를 제안하는 것 V1, V2 ... V52

col.names(nlsdata) <-c("inputid","nearc2","nearc4","nearc4a","nearc4b","ed76","ed66","age76","daded","nodaded","momed","nomomed","weight","momdad14","sinmom14","step14","reg661","reg662","reg663","reg664","reg665","reg666","reg667","reg668","reg669","south66","work76","work78","lwage76","lwage78","famed","black","smsa76r","smsa78r","reg76r","reg78r","reg80r","smsa66r","wage76","wage78","wage80","noint78","enroll76","enroll78","enroll80","kww","iq","marsta76","marsta78","marsta80","libcrd14") where newname[i] is the ith column name of dataframe nlsdata

Error: unexpected symbol in ""south66","work76","work78","lwage76","lwage78","famed","black","smsa76r","smsa78r","reg76r","reg78r","reg80r","smsa66r","wage76","wage78","wage80", "noint78","enroll76","enroll78","enroll80","

: 나는

colnames(nlsdata)

에 따라 언제 이름의 목록을 가져옵니다. 나는 한 번 이상 loooked - 하나를 찾을 수 없습니다.

+0

됩니다 열? [우리에게 데모를 주면]이 질문을 재현 할 수 있습니까 (http://www.rextester.com)? –

+1

데이터 가져 오기가 의도 한대로 작동하지 않기 때문에 모든 변수가 하나의 열로 경련되어 있으므로이 문제는 이미 read.table 명령에서 발생합니다. – alex2006

+0

@ alex2006 귀하의 의견에 감사드립니다. 내가 어떻게 구제 할 수 있는지 아십니까? –

답변

1

적절한 코드

nlsdata<-read.table("C:/Users/name/Desktop/nls.dat", header = FALSE, skip = 1, dec = ".") 

이다하여 코드의 일부 다음 COLNAMES

colnames(nlsdata)<-c("inputid","nearc2","nearc4","nearc4a","nearc4b","ed76","ed66","age76","daded","nodaded","momed","nomomed","weight","momdad14","sinmom14","step14","reg661","reg662","reg663","reg664","reg665","reg666","reg667","reg668","reg669","south66","work76","work78","lwage76","lwage78","famed","black","smsa76r","smsa78r","reg76r","reg78r","reg80r","smsa66r","wage76","wage78","wage80","noint78","enroll76","enroll78","enroll80","kww","iq","marsta76","marsta78","marsta80","libcrd14") 

에 열 이름을 추가하고

확인 0 당신이지고 있었다 오류는이 두 따옴표에 대해 것 같다
+0

답변 해 주셔서 감사합니다.그것은 하나의 작은 편집으로 작동했습니다 :'skip = 1'은 내가 첫 번째 데이터 행을 잃게 만들었습니다. –

+0

당신을 진심으로 환영합니다. 행운을 빕니다! – alex2006

1

난 아직 (충분한 명성 포인트) 말씀 드릴 수 없습니다, 그래서 나는이 방법을 시도해보십시오

matrix <- matrix(0, 61,61) 
colnames(matrix) <- c("inputid","nearc2","nearc4","nearc4a","nearc4b","ed76","ed66","age76","daded","nodaded","momed","nomomed","weight","momdad14","sinmom14","step14","reg661","reg662","reg663","reg664","reg665","reg666","reg667","reg668","reg669","south66","work76","work78","lwage76","lwage78","famed","black","smsa76r","smsa78r","reg76r","reg78r","reg80r","smsa66r","wage76","wage78","wage80","noint78","enroll76","enroll78","enroll80","kww","iq","marsta76","marsta78","marsta80","libcrd14","exp76","exp762","f1","f2","f3","f4","f5","f6","f7","f8") 

그것은 매트릭스와 잘했다. 테이블의 크기가 잘못되었을 수 있습니다.

R Studio에서 R이 col.names를 찾지 못 했으므로 colnames를 사용해보십시오.

그 앞의 해시로 언급한다 'newname의 [I]를 nlsdata dataframe의 i 번째 열 이름이고 "#

+0

매트릭스 또는 테이블로 데이터를 읽었습니까? 아니면 차이가 있습니까? –

+1

일반적으로 RStudios 가져 오기 데이터 세트 기능을 사용하여 테이블을 읽습니다. 데모가 없기 때문에 나는별로 도움이 안돼. 그것은 모든 추측이지만, 구체적인 것은 아닙니다. 다음은 dat.table을 읽는 방법을 보여주는 질문입니다. 다운로드 한 데이터에서도 잘 작동합니다. 나는 보통 데이터 세트를 다운로드합니다. 왜냐하면 나는 매우 시골에서 살고 LTE 연결이 엉뚱한 곳이기 때문입니다. https://stackoverflow.com/questions/11664075/import-dat-file-into-r – smurfit89

1

:

""south66" 

readr::read_table() 않는 파일 읽기의 좋은 일 : 당신은 당신의 오른쪽 번호가 있는지 확인

library(readr) 
url <- "https://raw.githubusercontent.com/108michael/ms_thesis/ca258bc684c3a6f8ade13769590439ad1e8387d7/nls.dat" 
col_names = c("inputid","nearc2","nearc4","nearc4a","nearc4b","ed76","ed66", 
    "age76","daded","nodaded","momed","nomomed","weight","momdad14","sinmom14", 
    "step14","reg661", "reg662","reg663","reg664","reg665","reg666","reg667", 
    "reg668","reg669","south66","work76","work78","lwage76","lwage78","famed", 
    "black","smsa76r","smsa78r","reg76r","reg78r","reg80r","smsa66r","wage76", 
    "wage78","wage80","noint78","enroll76","enroll78","enroll80", 
    "kww","iq","marsta76","marsta78","marsta80","libcrd14") 
read_table(url, col_names = col_names, na = ".") 
#> Parsed with column specification: 
#> cols(
#> .default = col_integer(), 
#> daded = col_double(), 
#> momed = col_double(), 
#> lwage76 = col_double(), 
#> lwage78 = col_double() 
#>) 
#> See spec(...) for full column specifications. 
#> # A tibble: 3,613 x 51 
#> inputid nearc2 nearc4 nearc4a nearc4b ed76 ed66 age76 daded nodaded 
#>  <int> <int> <int> <int> <int> <int> <int> <int> <dbl> <int> 
#> 1  2  0  0  0  0  7  5 29 9.94  1 
#> 2  3  0  0  0  0 12 11 27 8.00  0 
#> 3  4  0  0  0  0 12 12 34 14.00  0 
#> 4  5  1  1  1  0 11 11 27 11.00  0 
#> 5  6  1  1  1  0 12 12 34 8.00  0 
#> 6  7  1  1  1  0 12 11 26 9.00  0 
#> 7  8  1  1  1  0 18 16 33 14.00  0 
#> 8  9  1  1  1  0 14 13 29 14.00  0 
#> 9  10  1  1  1  0 12 12 28 12.00  0 
#> 10  11  1  1  1  0 12 12 29 12.00  0 
#> # ... with 3,603 more rows, and 41 more variables: momed <dbl>, 
#> # nomomed <int>, weight <int>, momdad14 <int>, sinmom14 <int>, 
#> # step14 <int>, reg661 <int>, reg662 <int>, reg663 <int>, reg664 <int>, 
#> # reg665 <int>, reg666 <int>, reg667 <int>, reg668 <int>, reg669 <int>, 
#> # south66 <int>, work76 <int>, work78 <int>, lwage76 <dbl>, 
#> # lwage78 <dbl>, famed <int>, black <int>, smsa76r <int>, smsa78r <int>, 
#> # reg76r <int>, reg78r <int>, reg80r <int>, smsa66r <int>, wage76 <int>, 
#> # wage78 <int>, wage80 <int>, noint78 <int>, enroll76 <int>, 
#> # enroll78 <int>, enroll80 <int>, kww <int>, iq <int>, marsta76 <int>, 
#> # marsta78 <int>, marsta80 <int>, libcrd14 <int>