2012-02-15 6 views
5

길이가 긴 데이터를 가지고 있습니다. 내 데이터의 각 관찰을 식별하는 변수 - 열을 기반으로 ID 변수를 만들고 싶습니다. R에서 어떻게합니까?ID 열 생성 방법 R

예 :

name id year var1 var2 
A 1 1 4 3 
A 1 2 5 1 
A 1 3 4 2 
B 2 1 . . 
B 2 2 4 3 
B 2 3 5 1 

어떤 도움 : 나는 같은이 데이터

name year var1 var2 
A 1 4 3 
A 2 5 1 
A 3 4 2 
B 1 . . 
B 2 4 3 
B 3 5 1 

나는 모든 이름에 대한 고유 번호 'ID'라는 새 열을 생산 할을 가지고?

답변

4

당신의 name 열이 단지 하나의 문자가 포함되지 않은 경우 (또는 경우에도), 당신은 사용할 수 있습니다

dat$id <- as.numeric(as.factor(dat$name)) 

또는, 더 간단을 : datdata.frame입니다

dat$id <- c(as.factor(dat$name)) 

.

1
tc=' 
name year var1 var2 
A 1 4 3 
A 2 5 1 
A 3 4 2 
B 1 . . 
B 2 4 3 
B 3 5 1' 

df <- read.table(text=tc, header=T) 

df$ID <- match(df$name, LETTERS) 

이름이 열인지 또는 데이터 프레임의 rownames인지는 분명하지 않지만, 경우는 대신 rownames(df)을 시도 열 수 없습니다 df$name

+0

'text = tc'는'textConnection (tc)'으로 대체되어야한다고 생각합니다. – jbaums

+0

@jbaums 왜 안되는지. – aatrujillob

+0

@jbaums'text'는'textConnection'을 피하는 데 도움이되는 read.table에 대한 새로운 인수입니다. 원한다면 중간 남자를 잘라내십시오. –