많은 참여자의 이름을 포함하는 변수가있는 data.frame이 있습니다. 참가자의 이름은 모두 하나의 (= 1) 긴 문자열로 쉼표로 구분 된 이름으로 포함됩니다. 일부 이름은 반복적입니다. 나는 한 번만 각 이름을 얻으려고 노력한다.데이터 프레임의 중첩 목록에서 고유 요소 추출
아래 데이터입니다.
나는 목록에 이름의 긴 문자열을 변환 : 다음을 표준화하는 이름의 양쪽에 공간을 제거b$s <- strsplit(b$participants, ",")
.
"Takfir wa'l Hijra" "AIS" "GIA" "AQIM" "MUJAO" "FLEC-R" "FLEC-FAC"
그러나,이 목록은 모든 고유 한 이름을 포함 :이 목록에서
library(stringr)
b.l <- unlist(b$s)
b.l <- str_trim(b.l, side="both")
나는 고유 값
b.l <- unique(unlist(b.l))
결과 모두 고유 한 이름을했다. 각 ID (세션 번호)에 대해서만이 단계를 수행하고 싶습니다. 반복적 일 수 있습니다.
위의 작업을 ddply로 수행하려고 시도했지만 아무 소용이 없습니다. 어떤 추천? 불행히도, 나는리스트를 다루는 것에 대해서는별로 익숙하지 않다.
결국, dataframe은 다음과 같아야합니다
id unique.participants
1-191 Takfir wa'l Hijra, AIS, GIA, AQIM, MUJAO
1-191 Takfir wa'l Hijra, AIS, GIA, AQIM, MUJAO
1-192 FLEC-R, FLEC-FAC
많은 감사합니다.
data.frame :
b<–structure(list(id = structure(c(1L, 1L, 2L), .Label = c("1-191",
"1-192", "1-131"), class = "factor"), participants = c("Takfir wa'l Hijra,AIS,AIS, GIA,AIS, GIA,AIS, GIA,AIS, GIA,AIS, GIA,GIA,AQIM, GIA,AQIM, GIA,AQIM, GIA,AQIM, GIA,AQIM, GIA,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM, MUJAO,AQIM",
"Takfir wa'l Hijra,AIS,AIS, GIA,AIS, GIA,AIS, GIA,AIS, GIA,AIS, GIA,GIA,AQIM, GIA,AQIM, GIA,AQIM, GIA,AQIM, GIA,AQIM, GIA,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM,AQIM, MUJAO,AQIM",
"FLEC-R,FLEC-FAC, FLEC-R,FLEC-FAC,FLEC-FAC, FLEC-R,FLEC-FAC,FLEC-FAC, FLEC-R,FLEC-FAC,FLEC-FAC,FLEC-FAC"
), s = list(c("Takfir wa'l Hijra", "AIS", "AIS", " GIA", "AIS",
" GIA", "AIS", " GIA", "AIS", " GIA", "AIS", " GIA", "GIA", "AQIM",
" GIA", "AQIM", " GIA", "AQIM", " GIA", "AQIM", " GIA", "AQIM",
" GIA", "AQIM", "AQIM", "AQIM", "AQIM", "AQIM", "AQIM", "AQIM",
"AQIM", "AQIM", " MUJAO", "AQIM"), c("Takfir wa'l Hijra", "AIS",
"AIS", " GIA", "AIS", " GIA", "AIS", " GIA", "AIS", " GIA", "AIS",
" GIA", "GIA", "AQIM", " GIA", "AQIM", " GIA", "AQIM", " GIA",
"AQIM", " GIA", "AQIM", " GIA", "AQIM", "AQIM", "AQIM", "AQIM",
"AQIM", "AQIM", "AQIM", "AQIM", "AQIM", " MUJAO", "AQIM"), c("FLEC-R",
"FLEC-FAC", " FLEC-R", "FLEC-FAC", "FLEC-FAC", " FLEC-R", "FLEC-FAC",
"FLEC-FAC", " FLEC-R", "FLEC-FAC", "FLEC-FAC", "FLEC-FAC"))), .Names = c("id",
"participants", "s"), row.names = c(1L, 2L, 24L), class = "data.frame")
당신은'list'로 결과를 원하는 않았거나 그들이 '다시 함께 paste'd 싶지 않았다 할 수
ddply
사용하십니까? – A5C1D2H2I1M1N2O1R2T1