运行 Dataframe 中筛选列的 T 检验
Run T Test on Filtered Column in Dataframe
我有一个包含 3 列的数据框:
df=
+------+------+---+
| Var1 | Var2 | n |
+------+------+---+
| Y | N | 5 |
| Y | Y | 6 |
| Y | N | 3 |
| N | Y | 8 |
| N | N | 1 |
| N | Y | 9 |
+------+------+---+
我想运行对 Var2 中的 Y 与 N 中的值进行 t 检验,但仅当 Var1 = Y 时。这可能吗?
我们可以使用data.table
。将'data.frame'转换为'data.table'(setDT(df)
),我们设置逻辑条件Var1=='Y'
来索引行,子集'n'元素,其中Var2=='N'
和Var2=='Y'
分别进行 t.test
.
library(data.table)
setDT(df)[Var1=='Y', t.test(n[Var2=='N'], n[Var2=='Y'])$p.value]
我有一个包含 3 列的数据框:
df=
+------+------+---+
| Var1 | Var2 | n |
+------+------+---+
| Y | N | 5 |
| Y | Y | 6 |
| Y | N | 3 |
| N | Y | 8 |
| N | N | 1 |
| N | Y | 9 |
+------+------+---+
我想运行对 Var2 中的 Y 与 N 中的值进行 t 检验,但仅当 Var1 = Y 时。这可能吗?
我们可以使用data.table
。将'data.frame'转换为'data.table'(setDT(df)
),我们设置逻辑条件Var1=='Y'
来索引行,子集'n'元素,其中Var2=='N'
和Var2=='Y'
分别进行 t.test
.
library(data.table)
setDT(df)[Var1=='Y', t.test(n[Var2=='N'], n[Var2=='Y'])$p.value]