Tôi thậm chí không chắc chắn cách đặt tiêu đề câu hỏi đúng cách!R sắp xếp lại khung dữ liệu: một số hàng thành cột
Giả sử tôi có một dataframe d:
dataframe hiện tại:
d <- data.frame(sample = LETTERS[1:2], cat = letters[11:20], count = c(1:10))
sample cat count
1 A k 1
2 B l 2
3 A m 3
4 B n 4
5 A o 5
6 B p 6
7 A q 7
8 B r 8
9 A s 9
10 B t 10
và tôi đang cố gắng để sắp xếp lại mọi thứ như vậy mà mỗi giá trị con mèo trở thành một cột của riêng nó, mẫu vẫn là một cột (hoặc trở thành tên hàng), và đếm sẽ là các giá trị trong các cột mèo mới, với 0 nơi một mẫu không có số đếm cho một con mèo. Cũng giống như vậy:
mong muốn bố trí dataframe:
sample k l m n o p q r s t
1 A 1 0 3 0 5 0 7 0 9 0
2 B 0 2 0 4 0 6 0 8 0 10
cách tốt nhất để đi về vấn đề này là gì?
Đây là như xa như tôi đã nhận:
for (i in unique(d$sample)) {
s <- d[d$sample==i,]
st <- as.data.frame(t(s[,3]))
colnames(st) <- s$cat
rownames(st) <- i
}
ví dụ vòng lặp thông qua các mẫu trong dataframe ban đầu, và transposing cho mỗi tập con mẫu. Vì vậy, trong trường hợp này tôi có được
k m o q s
A 1 3 5 7 9
và
l n p r t
B 2 4 6 8 10
Và đây là nơi tôi gặp khó khăn. Tôi đã thử một loạt các thứ với hợp nhất(), bind(), apply(), ... nhưng tôi dường như không thể đánh đúng thứ. Plus, tôi không thể không tự hỏi nếu vòng lặp đó ở trên là một bước cần thiết ở tất cả - một cái gì đó với unstack() có lẽ?
Không cần phải nói, tôi là người mới đối với R ... Nếu ai đó có thể giúp tôi, điều đó sẽ được đánh giá cao!
Lý do PS Tôi đang cố gắng sắp xếp lại khung dữ liệu của mình với hy vọng làm cho việc vẽ các giá trị dễ dàng hơn (nghĩa là tôi muốn hiển thị df thực tế trong một âm mưu theo định dạng bảng).
Cảm ơn bạn!
Thao tác bạn muốn làm là chuyển từ "dài" sang "rộng". Câu hỏi này đã được hỏi và trả lời nhiều lần trước đây. – nograpes
Lời xin lỗi của tôi. Tôi đã tìm kiếm vô tận thông qua ở đây và google, tôi chỉ không thể tìm thấy bất cứ điều gì khá giống như những gì tôi cần (không biết chính xác làm thế nào để gọi những gì tôi cần là không giúp đỡ). Tôi sẽ có một cái nhìn cho "dài"/"rộng" ... – crs