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
. 이것은 행렬 같은 객체에 대한 행 인덱스를 제공합니다.
rownames(dataframe)
데이터 프레임의 인덱스를 제공합니다.
질문을 이해했다면 데이터 프레임(또는 목록)의 항목에 행별로 액세스할 수 있기를 원할 뿐입니다.
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_deconds에 있는 이름의 적절한 행 인덱스를 반환합니다.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
x <- matrix(ceiling(9*runif(20)), nrow=5)
colnames(x) <- c("these", "are", "the", "columnes")
df <- data.frame(x)
결과: 데이터 프레임
which(df == "2") #returns rowIndexes results from the entire dataset, in this case it returns a list of 3 index numb
결과:
5 13 17
length(which(df == "2")) #count numb. of rows that matches a condition
결과:
3
다음의 예와 같이 열을 기준으로 수행할 수도 있습니다.
which(df$columnName == c("2", "7")) #you do the same with strings
length(which(df$columnName == c("2", "7")))
언급URL : https://stackoverflow.com/questions/2370515/how-to-get-row-index-number-in-r
'programing' 카테고리의 다른 글
jquery $.189 jsonp (0) | 2023.09.11 |
---|---|
형제 경로로 이동하려면 어떻게 해야 합니까? (0) | 2023.09.11 |
Woocommerce에서 프로그래밍된 등급으로 제품 리뷰 추가 (0) | 2023.09.11 |
워드프레스 : get_children에서 '게시물에 삽입'된 이미지 제외 (0) | 2023.09.11 |
Oracle sql에서 가장 가까운 날짜를 가져오는 방법 (0) | 2023.09.11 |