행 이름을 첫 번째 열로 변환하려면 어떻게 해야 합니까?
다음과 같은 데이터 프레임이 있습니다.
df
VALUE ABS_CALL DETECTION P-VALUE
1007_s_at "957.729231881542" "P" "0.00486279317241156"
1053_at "320.632701283368" "P" "0.0313356324173416"
117_at "429.842323161046" "P" "0.0170004527476119"
121_at "2395.7364289242" "P" "0.0114473584876183"
1255_g_at "116.493632746934" "A" "0.39799368200131"
1294_at "739.927122116896" "A" "0.0668649772942343"
행 이름을 첫 번째 열로 변환하고 싶습니다.현재 다음과 같은 방법을 사용하여 첫 번째 열로 행 이름을 만듭니다.
d <- df
names <- rownames(d)
rownames(d) <- NULL
data <- cbind(names,d)
이것을 하기 위한 한 줄이 있습니까?
또는 사용할 수 있습니다.tibble
의rownames_to_column
데이비드의 대답과 같은 것을 합니다.
library(tibble)
df <- tibble::rownames_to_column(df, "VALUE")
참고: 이전 기능은 다음과 같습니다.add_rownames()
더 이상 사용되지 않으며 에 의해 대체되고 있습니다.tibble::rownames_to_column()
다음을 사용하여 메모리를 재할당하지 않고 행 이름을 제거하고 참조를 통해 열로 변환할 수 있습니다.->
) 사용setDT
그리고 그것들keep.rownames = TRUE
로부터의 논쟁.data.table
꾸러미
library(data.table)
setDT(df, keep.rownames = TRUE)[]
# rn VALUE ABS_CALL DETECTION P.VALUE
# 1: 1 1007_s_at 957.7292 P 0.004862793
# 2: 2 1053_at 320.6327 P 0.031335632
# 3: 3 117_at 429.8423 P 0.017000453
# 4: 4 121_at 2395.7364 P 0.011447358
# 5: 5 1255_g_at 116.4936 A 0.397993682
# 6: 6 1294_at 739.9271 A 0.066864977
@snoram에서 언급한 것처럼 새 열에 원하는 이름을 지정할 수 있습니다.setDT(df, keep.rownames = "newname")
행 열에 "새 이름"을 추가합니다.
한 줄 옵션은 다음과 같습니다.
df$names <- rownames(df)
또는 새 데이터 프레임을 생성하거나 아래 예제와 같이 현재 데이터 프레임을 덮어쓸 수 있으므로 외부 패키지를 사용할 필요가 없습니다.그러나 이러한 방식은 대규모 데이터 프레임에서는 효율적이지 않을 수 있습니다.
df <- data.frame(names = row.names(df), df)
위의 제안에 따라 내 의견을 답변으로 이동했습니다.
추가 패키지가 필요하지 않습니다. 여기 한 줄로 된 패키지가 있습니다.
d <- cbind(rownames(d), data.frame(d, row.names=NULL))
dplyr::as_tibble(df, rownames = "your_row_name")
훨씬 더 간단한 결과를 얻을 수 있습니다.
또는 를 사용하여DBI
s sqlRownamesToColumn
library(DBI)
sqlRownamesToColumn(df)
데이터 행 이름을 실제 열로 변경
data <- data %>%
rownames_to_column(var="the name you want")
df = data.frame(columnNameILike = row.names(df), df, row.names=NULL)
언급URL : https://stackoverflow.com/questions/29511215/how-can-i-convert-row-names-into-the-first-column
'programing' 카테고리의 다른 글
onActivityResult가 fragment에서 호출되지 않습니다. (0) | 2023.06.05 |
---|---|
날짜당 여러 개가 존재하는 경우 개최되는 레슨/이벤트 수를 보다 간결하게 계산하는 방법 (0) | 2023.06.05 |
파이어베이스:프로덕션 APN 인증서를 업로드할 수 없습니다. (0) | 2023.06.05 |
Firebase 아키텍처 x86_64에 대한 정의되지 않은 기호 (0) | 2023.06.05 |
전자 메일 보내기 의도 (0) | 2023.05.31 |