我想更改資料框的格式。現在它是長格式,但我想將其更改為寬格式,以便每個檔案sample 都有自己的列指示基于cond. 在場應為 1,不在場為 0。
In:
virus sample cond
1 virusA A Present
2 virusB A Present
3 virusC A Absent
4 virusA B Absent
5 virusB B Present
6 virusC B Present
df <- structure(list(virus = c("virusA", "virusB", "virusC", "virusA",
"virusB", "virusC"), sample = c("A", "A", "A", "B", "B", "B"),
cond = c("Present", "Present", "Absent", "Absent", "Present",
"Present")), class = "data.frame", row.names = c(NA, -6L))
Out:
> df.out
virus A B
1 virusA 1 0
2 virusB 1 1
3 virusC 0 1
uj5u.com熱心網友回復:
使用pivot_wider與values_fn
library(tidyr)
pivot_wider(df, names_from = sample, values_from = cond,
values_fn = list(cond = ~ sum(. == 'Present')))
-輸出
# A tibble: 3 × 3
virus A B
<chr> <int> <int>
1 virusA 1 0
2 virusB 1 1
3 virusC 0 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/358120.html
上一篇:根據其他日期列創建列
下一篇:計算日期之間的實體數
