2010-04-01 4 views
1

함수에서 가변 개수의 열이있는 data.frame을 만드는 boucle을 만들고 싶습니다. 같은과열 수를 알 수없는 data.frame을 만드는 방법은 무엇입니까?

:

a = c("a","b") 
b = c(list(1,2,3), list(4,5,6)) 
data.frame(a,b) 

나는 같은 데이터 프레임을 좀하고 싶습니다 :

a 1 2 3 
b 4 5 6 

을 내가 얻는 대신에 :

a 1 2 3 4 5 6 
b 1 2 3 4 5 6 

감사합니다!

PS :

+0

'a'는 열 또는 행 이름을 나타 냅니까? – Shane

답변

3

별도의 변수로 열린 B의 2 개 목록이 있습니까 ... 나는 또한 rbind과 노력하지만, 그것이 작동하지 않는거야?

그래서 당신이 사용할 수있는 경우

:

x<-data.frame(rbind(b1,b2)) 
rownames(x)<-a 
6

는 이런 종류의 일을하는 방법에는 여러 가지가 있습니다. 첫 번째 문제는 "b"개체가 행렬이 아니라는 것입니다. 행과 열이있는 행으로 정의해야합니다 (또는 rbind를 사용하여).

데이터 프레임을 만든 다음 결합 할 수 있습니다 (행렬이 손실되는 동안 각 개체 유형이 숫자 또는 문자 등으로 유지되므로 시작하는 행렬보다 더 좋습니다). X1은 rownames위한 경우

x1 <- data.frame(X=c("a","b")) 
x2 <- data.frame(rbind(c(1,2,3), c(4,5,6))) 
data.frame(x1, x2) 
    X X1 X2 X3 
1 a 1 2 3 
2 b 4 5 6 

, 당신은 제임스의 예를 따라야합니다

x2 <- data.frame(rbind(c(1,2,3), c(4,5,6))) 
rownames(x2) <- c("a","b") 
2

또 다른 방법을

a = c("a","b") 
b = list(c(1,2,3), c(4,5,6)) 

library(plyr) 
df <- ldply(b) 
rownames(df) <- a 
0

정말 고마워요! 당신의 응답을 읽기 전에, 내가 사용하는 다른 방법을 시도 :

for (x in niveaux) { 
    assign(x,pi) 
    assign(paste(x,"moy"),"moy") 
    } 
# Que j'utilise ensuite avec qq chose du genre : 
assign(x,append(get(x),1)) 

을하지만 더 복잡!

올리비에

PS는 사람 : ''는 rowname 또는 열일 수 있으며, 목적은 CSV 파일로 data.frame를 내보내는 것이다.

관련 문제