2013-06-04 4 views
0

가변 길이의 정렬 된 하위 목록의 목록이 있습니다. 각 하위 목록은 가변 크기입니다. 나는 두 가지 일을하고 싶다. 첫 번째는 각 하위 목록의 발생 횟수를 합한 것입니다. 예를 들어.R 가변 크기 목록 발생 횟수

[[11533]] 
[1] "Mexican"  "Restaurants" 

[[11534]] 
[1] "Mexican"  "Restaurants" 

[[11535]] 
[1] "Food" "Grocery" "dinner" 

Count     Item 
2   "Mexican"  "Restaurants" 

1   "Food" "Grocery" "dinner" 

및 상기 두번째 부분은 벡터로 각각의 서브리스트를 중단 한 후 각 항목을 합이다. 예를 들어

[[11533]] 
[1] "Mexican"  "Restaurants" 

[[11534]] 
[1] "Mexican"  "Restaurants" 

[[11535]] 
[1] "Food"  "Dinner"  "Grocery" 

으로
"Mexican" 
"Restaurants" 
"Mexican" 
"Restaurants" 
"Food"  
"Dinner"  
"Grocery" 

"Mexican" 2 
"Restaurants" 2 
"Food" 1  
"Dinner" 1  
"Grocery" 1 

파이썬에서, 나는 한마다 씩 증가 사전을 구축 내 기본 목록을 루프 루프를 사용하는 것이 이미 사전에있는 항목을 발견했습니다. 그러나 나는 R에 관해서는 아기입니다. 여기에 내가 지금까지 시도한 것들이있다.

tabled_data <- table(parsed_data) 

내가 이러한 유형의

for(i in length(parsed_data)){ 
    sum(parsed_data == parsed_data[i]) 
} 

하지만 오류 메시지를 받고 있어요 "비교가 구현되지 않은 시도

같은 길이의 데이터를 가질 필요가 저에게 말한다 "

답변

2

table 명령을 사용할 수 있습니다.

testData <- list(c("Mexican","Restaurants"),c("Mexican","Restaurants"),c("Food","Grocery","dinner")) 

# First question (join the vectors and then table them) 
    table(sapply(testData,paste,collapse="")) 

# Second problem (unlist the list and table it): 
    table(unlist(testData)) 

벡터 내의 순서가 변경 될 수있는 경우이를 붙여 넣기 전에 정렬 할 수 있습니다.

+0

이것은 내가 찾고있는 것입니다. 사pply의 붕괴 부분은 인물 목록에 무엇을합니까? – AlexLordThorsen

+0

'collapse' 옵션 ('paste' 명령의 경우)은 문자열을 연결할 때 문자열 사이에 무엇을 갖고 싶은지 지정합니다. 그래서 단지' ""'대신 공백을 두는 것이 더 나을 것입니다. –