2012-08-03 5 views
1

R 스크립트에이 코드 조각이 있습니다. 데이터 프레임 (4 열을 말합니다)에서 각 열을 찾아 계산합니다 최대 값. 그러나 행에 넥타이 (두 개 또는 세 개의 최대 값)가있을 때 아래 코드는 첫 번째 코드를 고려합니다 (다른 코드는 계산하지 않습니다). 행에 여러 개의 최대 값 (연결?)이 있더라도 최대 값을 가진 열을 계산하는 방법은 R에 있습니까?R 스크립트, 데이터 행의 최대 값 계산

m_0 <- read.csv(file="Tests/myResults", head=FALSE, sep=",") 

varb_m0 <- c(m0$ V4) 

#create dataframe 

myDataFrame < - data.frame (mode_0 = varb_m0)

#find max 
result <- apply(myDataFrame,1,which.max) 

#factor it 
result <- factor(result) 

#print result 
names(myDataFrame)[result] 

summary(result) 
+0

'dput()'을 사용하여'myDataFrame' 예제를 줄 수 있습니까? – Andrew

+0

네, 그게 제가하는 방법입니다 – FranXh

+0

이것은 우리가 재현 할 수있는 예가 아닙니다. 'dput (myDataFrame)'(또는'dput (head (myDataFrame))')을 할 수 있습니다. –

답변

2

처음 함수 수 있도록하는 것입니다 할 수있는 간단한 방법 :

all_max <- function(x) {which(x == max(x))} #Index of each value that is maximum. 

을 그런 다음 데이터 프레임에 적용하면됩니다.

result <- apply(myDataFrame,1,all_max) 

나머지는 동일해야한다고 생각합니다. 데이터를 테스트하지 않았더라도 마찬가지입니다.

+0

나는 그것을 시험해 보려하지만 Excel/Libre Calc는 사용하기 쉽고 관리하기 쉽기 때문에 그렇게하려고 노력할 것입니다. 그래도 고마워 :) – FranXh