1
임의의 데이터를 생성 중입니다. id
및 val
변수를 포함해야하며 값은 단일 ID 내에서 겹칠 수는 없지만 id-s에서 중복 될 수 있습니다. 다른 ID의 값은 다른 숫자 n
입니다. I 수동으로 원하는 결과를 만들 수 :그룹별로 데이터 프레임에 가변 길이 값을 추가하는 편리한 방법
n <- c(3,2,4)
data.frame(id=rep(letters[1:3], n),
val=c(sample(10, n[1]),
sample(10, n[2]),
sample(10, n[3])))
id val
1 a 5
2 a 10
3 a 4
4 b 9
5 b 10
6 c 10
7 c 5
8 c 2
9 c 9
I는 그룹 위에 루핑 및 rbind
를 사용하거나 횟수에 대응하여 ID-S를 -ing rep
를 사용하여 관련된 다른 솔루션을 상상할 수있다. 그러나 그러한 모든 접근법은 더러워지며 많은 변수와 큰 데이터로 확장되지 않을 수 있습니다.
더 깨끗한 방법이 있습니까? (dplyrish에서)처럼 뭔가 :
data.frame(id=letters[1:3]) %>%
mutate(i = row_number()) %>%
group_by(id) %>%
summarize_into_df(id=id, val=sample(10, n[i]))
잘 작동하지 않습니다, 나는 그 사실을 알지 못했습니다! 여러 개의 id 변수가있는 경우 다른 솔루션은 약간 더러워집니다. –