我的问题似乎很简单,而且我确实为我无法让它发挥作用而感到非常恼火。假设我有一个简单dataframe
的一列 forgroup
和一个 variable x
。因为我的变量组包含一个“控制”条件,所以我想t.test
针对我的控制变量运行所有其他条件。
library(data.table) # I am use to the data.table sintax, tho I will happily accept a solution in any other dialect
# Generate dummy data
set.seed(1)
df <- data.table(x = rnorm(100), g = sample(LETTERS[1:3], size = 100, replace =T ))
setkey(df, g, x) # Order
df # Inspect data
为此,我想dcast
控制组并将其添加为新列。由于我想要运行 t 检验,因此我将使用整个组,我不介意该列的包含顺序。但是,我用来从长格式更改为宽格式 ( dcast
) 的功能在这里似乎不起作用。
# dcast appoach
m <- dcast(df, x ~ g) # This is just... B*#!!it
所以这是我寻找的近似值:
# Kind of what I want
# Isolate control condition
Control <- df[g == "C"]
df[, C := rep(Control, 3)] # In this case it says there a "remainder", tho I would prefer to add NAs to the variable x until completion
我也不介意将所有组 A、B 和 C 作为列。
在此先感谢您的帮助