Tôi có một data.frame
trông như thế này:tổng hợp nhiều hàng của data.frame cùng trong R dựa trên các giá trị phổ biến ở cột trao
# set example data
df <- read.table(textConnection("item\tsize\tweight\tvalue
A\t2\t3\t4
A\t2\t3\t6
B\t1\t2\t3
C\t3\t2\t1
B\t1\t2\t4
B\t1\t2\t2"), header = TRUE)
# print example data
df
item size weight value
1 A 2 3 4
2 A 2 3 6
3 B 1 2 3
4 C 3 2 1
5 B 1 2 4
6 B 1 2 2
Như bạn có thể nhìn thấy các cột size
và weight
làm không thêm bất kỳ sự phức tạp nào vì chúng giống nhau cho mỗi item
. Tuy nhiên, có thể có nhiều số value
s cho cùng một số item
.
Tôi muốn sụp đổ các data.frame có một hàng cho mỗi item
sử dụng giá trị trung bình value
:
item size weight value
1 A 2 3 5
3 B 1 2 3
4 C 3 2 1
Tôi đoán tôi phải sử dụng chức năng aggregate
nhưng tôi không thể tìm ra cách chính xác tôi có thể nhận kết quả trên.
Tôi đã bỏ ra hàng giờ để suy nghĩ về cách vector hóa lồng nhau cho các vòng cố gắng xác định các hàng trùng lặp và trung bình chúng, đưa chúng trở lại vào data.frame, v.v. Đẹp! Giới thiệu về đầu tư vào giáo dục nhiều hơn với các tài liệu tại https://www.rdocumentation.org/packages/plyr/versions/1.8.4/topics/ddply. Cảm ơn!! – mightypile