我正在尝试从数据框中提取观察值,并创建一个新的数据框,以在一个列中显示观察值,在另一列中显示相应的列,并在另一列中显示相应的行。然后消除其中包含NA的值。当前df如下:
Flask Well 1 Well 2
A NA NA
B 2Mg Control
C 3Mg Control
D 4Mg Control
E NA NA
我尝试使用!is.na()
,但不会消除这些值并在当前状态下构造df。
目前,我已经使用chart_df %>% group_by(row.names(chart_df))
对其进行了组织,但是并没有正确地组织它。
我想要的是一个看起来像这样的df:
Condition Column Row
NA Well1 A
2Mg Well1 B
3Mg Well1 C
4Mg Well1 D
答案 0 :(得分:0)
我认为您正在寻找melt
# the data
my_df <- read.table(text = "Flask Well_1 Well_2
A NA NA
B 2Mg Control
C 3Mg Control
D 4Mg Control
E NA NA", header = TRUE)
library(reshape2)
melt(my_df , id.vars = 'Flask') %>%
setNames(c('Row', 'Column', 'Condition')) %>%
na.omit()
更新:当id.vars
(Flask
列)为rownames
# the data
my_df <- my_df[c('Well_1', 'Well_2')] %>%
as.data.frame(row.names = my_df$Flask)
my_df %>%
as.matrix() %>% melt() %>% na.omit()