반응형
열의 값을 R의 기존 데이터 프레임에있는 행 이름으로 변환
기존 데이터 프레임의 열에있는 값을 행 이름으로 변환하고 싶습니다. 데이터 프레임을 내 보낸 다음 row.names =
호출 로 다시 가져 오지 않고도이 작업을 수행 할 수 있습니까?
예를 들어 다음과 같이 변환하고 싶습니다.
> samp
names Var.1 Var.2 Var.3
1 A 1 5 0
2 B 2 4 1
3 C 3 3 2
4 D 4 2 3
5 E 5 1 4
으로:
> samp.with.rownames
Var.1 Var.2 Var.3
A 1 5 0
B 2 4 1
C 3 3 2
D 4 2 3
E 5 1 4
감사
이렇게해야합니다.
samp2 <- samp[,-1]
rownames(samp2) <- samp[,1]
요컨대 재 할당에 대한 대안이 없습니다.
편집 : 자신을 수정하고 제자리에서 수행 할 수도 있습니다. 행 이름 속성을 할당 한 다음 열을 제거합니다.
R> df<-data.frame(a=letters[1:10], b=1:10, c=LETTERS[1:10])
R> rownames(df) <- df[,1]
R> df[,1] <- NULL
R> df
b c
a 1 A
b 2 B
c 3 C
d 4 D
e 5 E
f 6 F
g 7 G
h 8 H
i 9 I
j 10 J
R>
2016 년부터는 tidyverse
.
library(tidyverse)
samp %>% remove_rownames %>% column_to_rownames(var="names")
한 줄로
> samp.with.rownames <- data.frame(samp[,-1], row.names=samp[,1])
두 가지 간단한 문으로 실행할 수 있습니다.
row.names(samp) <- samp$names
samp[1] <- NULL
한 줄짜리가 라인을 따라 더 간단해진 것 같습니다 (현재 R 3.5.3 사용).
# generate original data.frame
df <- data.frame(a = letters[1:10], b = 1:10, c = LETTERS[1:10])
# use first column for row names
df <- data.frame(df, row.names = 1)
행 이름에 사용 된 열은 자동으로 제거됩니다.
반응형
'program story' 카테고리의 다른 글
OAuth 2.0의 클라이언트 비밀 (0) | 2020.09.04 |
---|---|
Python CSV 오류 : 행에 NULL 바이트가 있습니다. (0) | 2020.09.01 |
Google+ 담벼락에 게시하는 방법 (0) | 2020.09.01 |
IE의 드롭 다운 목록 너비 (0) | 2020.09.01 |
Clojure 개발자가 피해야 할 일반적인 프로그래밍 실수 (0) | 2020.09.01 |