2014-11-04 2 views
-1

는 I이R에 for 루프를 작성하는 방법은 무엇입니까?

pp1<-table(sip$newSS4_1 [sip$newSS4_1==1], sip$HS1C1 [sip$newSS4_1==1]) 
pp1=round(prop.table(pp1,1), digits=3) 
pp1 

내가 할 수있는 30 개 변수를 썼다. 예를 들면 다음과 같습니다 등등

pp2<-table(sip$newSS4_2 [sip$newSS4_2==1], sip$HS1C1 [sip$newSS4_2==1]) 
pp2=round(prop.table(pp2,1), digits=3) 
pp2 

pp3 ... pp30. 데이터 프레임에 newSS4_1 ... newSS4_30이 이미 있습니다.

루프를 작성하는 방법은 무엇입니까?

감사합니다.

+0

일부 데이터를 재현 가능하게 표시하십시오. –

+0

이것은 기본적인 프로그래밍 질문이며 특정 언어와 관련이 없습니다. –

+0

죄송합니다. 나는 초보자 일 뿐이므로 데이터 정리를하려고합니다. 귀찮은 질문에 대해 유감스럽게 생각합니다. @ CarlWitthoft –

답변

0

당신이 힘든 일을하고있는 것처럼 보입니다.

  1. 30 개의 변수를 다른 이름으로 작성하는 대신 단일 목록을 사용하지 않는 이유는 무엇입니까?
  2. 열 이름을 사용하는 대신 열 번호를 사용하지 않는 이유는 무엇입니까?

pp <- list() colnums <- grep(names(sip), "newSS4_") # assuming they are in order for (i in 1:30) { cn <- colnums[i] pp[[i]] <- table(sip[,cn ] [sip[,cn]==i], sip$HS1C1 [ sip[,cn]==i ]) }

당신이 정말로 다른 변수를 가지고 싶다면, 당신은 예를 들어,에 할당

assign(paste0("pp", i), value) 

을 사용할 수 있습니다 pp1, pp2 등

+0

답장을 보내 주셔서 감사합니다. 왜냐하면 나는 초보자이기 때문이다. 나는 "단일 목록 사용"이란 무엇을 의미하는지 이해하지 못합니까? 행 이름을 사용하고 있지 않습니다. 열 이름을 사용하고 있으며 열 번호를 사용할 수 있습니다. 그것은 단지 어떻게 해야할지 모르겠습니다 ... @ dash2 –

+0

즉, 'pp1','pp2' 등의 30 가지 변수를 생성해서는 안됩니다. 대신'pp'라는 단일 변수를 만듭니다. 'pp [[1]]','pp [[2]] 등 30 개 원소로 구성된 목록 – dash2

관련 문제