2014-02-19 5 views
2

프로그래밍 방식으로 작성하려는 데이터 프레임이 있습니다. 나는 미리 칼럼을 가지고 있지만 전부는 아니며 칼럼을 올리면서 추가하고 싶습니다. 그래서 예를 들면 :변수가있는 데이터 프레임에 열 추가

Test 
1 0 

그리고 다음 :

d <- data.frame("Test" = 0) 

날이 제공

Sun Test 
1 0 0 

을하지만이 : 같은

d <- cbind("Sun" = 0,d) 

작품을 기대

이 아닌

i i i i i i i Test 
1 Sat Fri Thu Wed Tue Mon Sun 0 

:

for (i in daynames) { 
    d <- cbind(i = 0 ,d) 
} 

이를 산출

Sun Mon Tue Wed Thu Fri Sat Test 
1 0 0 0 0 0 0 0 0 

어떻게 i 값보다는 식별자 자체 데이터 프레임 열을 결합 할 수 있는가? 더 R 형과 같은 방법이 있습니까?

답변

1

가 나는

d <- data.frame("Test" = 0) 
daynames <- c("Sat", "Fri", "Thu", "Wed", "Tue", "Mon", "Sun") 
for (i in daynames) { 
     d <- cbind(0 ,d) 
    colnames(d)[1] <- i 
} 
+0

감사합니다. 벡터화 된 형식으로이 작업을 수행 할 수있는 방법이 있습니까? –

1

벡터화, 내가 먼저 함께 새 열을 결합하는 새로운 컬럼에 데이터 프레임을 결합하는 것입니다 해결할 수 있다고 생각.

d <- data.frame("Test" = 0) 
daynames <- c("Sat", "Fri", "Thu", "Wed", "Tue", "Mon", "Sun") 

dayframe <- do.call(cbind.data.frame, as.vector(rep(0, length(daynames)), mode = "list")) 
names(dayframe) <- daynames 
cbind(d, dayframe) 
관련 문제