이것은 question과 유사합니다. 하지만 1000 개의 데이터 프레임을 처리해야합니다.루프를 사용하여 다른 데이터 프레임을 기반으로 데이터 프레임의 열을 업데이트하십시오.
는 I (1000) 아래에 코드를 이용하여 데이터 프레임을 만들었 :
df <- replicate(1000, sensitivity.score, simplify = FALSE)
names(df) <- paste("score.rand", 1:length(df), sep = "")
list2env(df, envir = .GlobalEnv)
첫 번째 데이터 프레임을 다음과 같다 :
head(score.rand1)
Binomial S1 S2 S3 S4 S5 S6 S7 S8 S9
1 Astacoides betsileoensis H L L L H L <NA> L L
2 Astacoides caldwelli H L L L H L <NA> H <NA>
3 Astacoides crosnieri L L L L H L <NA> <NA> L
4 Astacoides granulimanus L L L L H L H <NA> L
5 Astacoides hobbsi H L H L H L <NA> <NA> L
6 Astacoides madagascariensis H L L L H L <NA> <NA> L
I 다른 1,000 데이터 아래 코드를 이용하여 프레임을 만들었다 :
mydf <- data.frame(Binomial, S4, S5, S6)
lst <- replicate(1000, mydf[sample(nrow(mydf)),] , simplify = FALSE)
names(lst) <- paste("rand.val", 1:length(lst), sep = "")
list2env(lst , envir = .GlobalEnv)
이 모양은 다음과 같습니다.
,210head(rand.val1)
Binomial S4 S5 S6
229 Euastacus girurmulayn 46.63442 3.399884 39.0
168 Distocambarus crockeri 15.76044 6.322875 34.7
235 Euastacus jagabar 46.63442 3.399884 40.6
163 Cherax robustus 44.04395 3.108239 42.5
506 Procambarus ortmannii 88.58447 4.422301 24.0
392 Pacifastacus fortis 30.40509 5.860764 42.0
나는 '이항'를 기반으로 'rand.val1'dataframe의 S4, S5, S6 열에 의해 열 S4, S5, 'score.rand1'dataframe의 S6를 교체해야합니다. 'score.rand2'와 'rand.val2'... 'score.rand3'의 'rand.val3'데이터 프레임 ...에 대해서도 마찬가지입니다. 1000 개 데이터 프레임 모두에 대해 마찬가지입니다.
merge (score.rand1, rand.val1, by = "Binomial")'행을 따라 뭔가를 찾고 있습니다. –
감사합니다. 그러나 1000 개의 데이터 프레임에 대해 어떻게이 작업을 수행 할 수 있습니까? for 루프를 사용해 보았지만 실패했습니다. ( –
이것이 R에 data.frames를 저장하고'apply' 함수 군을 사용하여 전체 세트에서 작업하는'list '객체가있는 이유입니다. 만약 data.frames가 있다면 " (ls()를 사용하여) 수동으로 긁어 내고'get()'을 사용하여 검색해야합니다. –