2015-02-03 7 views
0

Df001, Df002, Df003, ..., Df100이라는 많은 데이터 프레임이있는 경우.문자열을 사용하여 R에서 데이터 프레임을 선택하는 방법

모든 데이터 프레임에서 특정 위치에 어떻게 액세스 할 수 있습니까?

Df001[1, 3] = a 
Df002[2, 4] = b 
... 

는 (A, B가 어떤 값을 파일에서 읽어)

하지만이 있기 때문에 세부 사항에이 코드를 입력하지 않으 :

예를 들어, 나는 할당 할 많은 데이터 프레임을 할당해야했습니다.

문자열을 사용하여 데이터 프레임을 선택하고 값을 할당하는 몇 가지 방법이 있습니까?

+8

환경에서 너무 많은 data.frame 개체가 어떻게 감겨져 있는지 알 수 없습니다. 이것은 잘못된 설계 결정이 내려진 것처럼 들립니다. 아마도이 모든 데이터를 단일 목록에 저장하는 것이 훨씬 더 합리적 일 것입니다. 특히 모든 것이 관련되어있는 것처럼 보입니다. 그런 다음 * apply family 계열을 사용하여 목록의 각 항목에 대한 작업을 쉽게 수행 할 수 있습니다. 보다 구체적인 세부 사항을 원한다면 [재생 가능한 예제] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 제공하면 도움이 될 것입니다. – MrFlick

+0

글쎄, 나는 많은 데이터 그룹을 다루기 원하기 때문이다. 이러한 데이터 그룹 간에는 몇 가지 관계가 있습니다. 따라서 데이터를 쉽게 관리 할 수 ​​있도록 데이터를 분리해야합니다. 내가 원하는 것은 C의 포인터 벡터와 같다. 모든 포인터는 모든 데이터 그룹에 할당된다. 특정 데이터 그룹에 액세스하려면 해당 포인터를 사용하고 해당 데이터 그룹에 쉽게 액세스 할 수 있습니다. – Wulungching

답변

0

@MrFlick의 설명이 적절합니다.이 모든 것을 목록이나 다른 것으로 바꾸어야합니다.

하지만 실제로 묻는 것을하고 싶다면 assign() 명령을 반복해도됩니다. 이와 같은 것 (아마 더 예쁘게 만들어 질 수 있습니다) :

for (i in 1:100) { 
     tmp.name <- paste0("Df", paste0(paste0(rep("0", 3 - nchar(i)), collapse=""), i)) 
     tmp.df <- get(tmp.name) 
     tmp.df[1, 3] = a 
     assign(tmp.name, tmp.df) 
    } 
+0

글쎄, 많은 데이터 그룹을 처리하기를 원하기 때문이다. 이러한 데이터 그룹 간에는 몇 가지 관계가 있습니다. 따라서 데이터를 쉽게 관리 할 수 ​​있도록 데이터를 분리해야합니다. 내가 원하는 것은 C의 포인터 벡터와 같다. 모든 포인터는 모든 데이터 그룹에 할당된다. 특정 데이터 그룹에 액세스하려면 해당 포인터를 사용하고 해당 데이터 그룹에 쉽게 액세스 할 수 있습니다. – Wulungching

+0

음, Rcpp를 사용하여 R을 통해 C++를 사용할 수 있습니다. 나는 이것들을 사용한 적이 없지만 그렇게하는 법을 배우기위한 많은 자원이 있습니다. – LauriK

관련 문제