data frame을 data table로 그냥 변환하면 이상한 값이 나온다.
row name 때문에 발생하기 때문에, 이 부분을 옵션으로 넣으면 문제 없이 잘 동작한다.
해당 옵션은 keep.rownames=TRUE 또는 rownames() 함수이다.
소스
library("data.table")
new_df
dt <- as.data.frame.table(new_df)
dt
data.table(new_df, keep.rownames=TRUE)
data.table(name=rownames(new_df),new_df)
결과
> library("data.table")
> new_df
mt na sa
samuel 90 90 80
aston 90 90 80
patrick 80 60 90
> dt <- as.data.frame.table(new_df)
> dt
Var1 Var2 Freq.mt Freq.na Freq.sa
1 samuel mt 90 90 80
2 aston mt 90 90 80
3 patrick mt 80 60 90
4 samuel na 90 90 80
5 aston na 90 90 80
6 patrick na 80 60 90
7 samuel sa 90 90 80
8 aston sa 90 90 80
9 patrick sa 80 60 90
> data.table(new_df,keep.rownames=TRUE)
rn mt na sa
1: samuel 90 90 80
2: aston 90 90 80
3: patrick 80 60 90
> dt <- data.table(name=rownames(new_df),new_df)
name mt na sa
1: samuel 90 90 80
2: aston 90 90 80
3: patrick 80 60 90
'R' 카테고리의 다른 글
R 컨퍼런스 2015 자료 (0) | 2015.08.20 |
---|---|
[R] data frame 정렬 하기 - arrange, order (0) | 2015.08.20 |
[R] 배열로 data frame 만들고, 특정 컬럼 삭제하기 (0) | 2015.08.20 |
[R] 여러 list를 data frame의 컬럼으로 합쳐 만들기 (0) | 2015.08.20 |
[R] 함수 재정의 및 해제 (0) | 2015.08.20 |