IT이야기

R에서 행 인덱스 번호를 얻는 방법

cyworld 2021. 3. 25. 21:38
반응형

R에서 행 인덱스 번호를 얻는 방법은 무엇입니까?


R에 목록 또는 데이터 프레임이 있고 행 인덱스를 얻고 싶다고 가정합니다. 어떻게해야합니까? 즉, 특정 행렬이 몇 개의 행으로 구성되어 있는지 알고 싶습니다.


나는 당신의 질문을 행 번호를 얻는 것에 관한 것으로 해석하고 있습니다.

  • 행 이름을 as.numeric(rownames(df))설정하지 않은 경우 시도 수 있습니다 . 그렇지 않으면 시퀀스를 사용하십시오 1:nrow(df).
  • which()함수는 TRUE / FALSE 행 인덱스를 행 번호로 변환합니다.

정확히 무엇을하려고하는지 명확하지 않습니다.

데이터 프레임에서 행을 참조하려면 df[row,]

벡터의 첫 번째 위치를 얻으려면를 사용하십시오 match(item,vector). 여기서 벡터는 데이터 프레임의 열 중 하나 일 수 있습니다 (예 : df$cname열 이름이 cname 인 경우).

편집하다:

이들을 결합하려면 다음과 같이 작성합니다.

df[match(item,df$cname),]

일치는 목록의 첫 번째 항목을 제공하므로 고유 한 참조 번호를 찾고 있지 않은 경우 다른 것을 고려할 수 있습니다.


보기 row에서 ?base::row. 이것은 행렬과 같은 객체에 대한 행 인덱스를 제공합니다.


내가 귀하의 질문을 이해한다면 행별로 데이터 프레임 (또는 목록)의 항목에 액세스하고 싶을 것입니다 .

x = matrix( ceiling(9*runif(20)), nrow=5  )   
colnames(x) = c("col1", "col2", "col3", "col4")
df = data.frame(x)      # create a small data frame

df[1,]                  # get the first row
df[3,]                  # get the third row
df[nrow(df),]           # get the last row

lf = as.list(df)        

lf[[1]]                 # get first row
lf[[3]]                 # get third row

기타


아마도이 "일치"의 보완적인 예가 도움이 될 것입니다.

두 개의 데이터 세트 :

first_dataset <- data.frame(name = c("John", "Luke", "Simon", "Gregory", "Mary"),
                            role = c("Audit", "HR", "Accountant", "Mechanic", "Engineer"))

second_dataset <- data.frame(name = c("Mary", "Gregory", "Luke", "Simon"))

이름 열에 컬렉션 값 (전체 컬렉션)에서 고유 한 항목 만 포함 된 경우 일치에서 반환 된 인덱스 값으로 다른 데이터 세트의 행에 액세스 할 수 있습니다.

name_mapping <- match(second_dataset$name, first_dataset$name)

match는 두 번째부터 주어진 이름에서 first_dataset에있는 이름의 적절한 행 인덱스를 반환합니다. 5 4 2 1여기 예-첫 번째 데이터 세트에서 행 인덱스로 역할 액세스 (주어진 이름 값 기준)

for(i in 1:length(name_mapping)) {
    role <- as.character(first_dataset$role[name_mapping[i]])   
    second_dataset$role[i] = role
}

===

second dataset with new column:
     name       role
1    Mary   Engineer
2 Gregory   Mechanic
3    Luke Supervisor
4   Simon Accountant

참조 URL : https://stackoverflow.com/questions/2370515/how-to-get-row-index-number-in-r

반응형