根据r中的另一个列级别提取列数据
Extract column data on the basis of another column levels in r
我的数据如下所示:第 1 列是二进制变量,第 2 列是连续变量。
Col1 Col2
0 21
0 34
1 36
0 24
1 96
. .
. .
0 25
等等。我希望我的输出在新数据框中,其中第 1 列水平为两个
新的不同列(“0”和“1”)和下面对应的第 2 列值
两个都。这是一个可重现的例子:
set.seed(77)
Col1 <- sample(c(0,1), 50, replace = TRUE)
Col2 <- round(rnorm(50),2)
dat <- data.frame(Col1, Col2)
所以,基本上我的输出应该是这样的:
"0" "1"
21 36
34 96
24 .
. .
. .
25
试试这个:
dat <- data.frame("0" = data$Col2[data$Col1 == 0],
"1" = data$Col2[data$Col1 == 1])
head(dat)
在 R 中执行 t.test。最佳做法是将因子变量 (0/1) 转换为 运行 t.test 之前的因子。该函数假定每一行都是一个单独的人,并且他们属于 Col1 中指定的组。
Col1 <- sample(c(0,1), 50, replace = TRUE)
Col2 <- round(rnorm(50),2)
dat <- data.frame(Col1, Col2)
dat$Col1 <- factor(dat$Col1)
t.test(Col2 ~ Col1, data = dat)
df <- data.frame(C1 = c("1","0","0","1","1"), C2 = c(11,21,22,31,35))
df
# C1 C2
# 1 1 11
# 2 0 21
# 3 0 22
# 4 1 31
# 5 1 35
One <- df[df$C1 == "1","C2"]
Zero <- df[df$C1 == "0","C2"]
One
# [1] 11 31 35
Zero
# [1] 21 22
n <- max(length(One),length(Zero))
n
# 3
length(One) <- 3
length(Zero) <- 3
Result <- cbind(One,Zero)
Result
# One Zero
# [1,] 11 21
# [2,] 31 22
# [3,] 35 NA
我的数据如下所示:第 1 列是二进制变量,第 2 列是连续变量。
Col1 Col2
0 21
0 34
1 36
0 24
1 96
. .
. .
0 25
等等。我希望我的输出在新数据框中,其中第 1 列水平为两个 新的不同列(“0”和“1”)和下面对应的第 2 列值 两个都。这是一个可重现的例子:
set.seed(77)
Col1 <- sample(c(0,1), 50, replace = TRUE)
Col2 <- round(rnorm(50),2)
dat <- data.frame(Col1, Col2)
所以,基本上我的输出应该是这样的:
"0" "1"
21 36
34 96
24 .
. .
. .
25
试试这个:
dat <- data.frame("0" = data$Col2[data$Col1 == 0],
"1" = data$Col2[data$Col1 == 1])
head(dat)
在 R 中执行 t.test。最佳做法是将因子变量 (0/1) 转换为 运行 t.test 之前的因子。该函数假定每一行都是一个单独的人,并且他们属于 Col1 中指定的组。
Col1 <- sample(c(0,1), 50, replace = TRUE)
Col2 <- round(rnorm(50),2)
dat <- data.frame(Col1, Col2)
dat$Col1 <- factor(dat$Col1)
t.test(Col2 ~ Col1, data = dat)
df <- data.frame(C1 = c("1","0","0","1","1"), C2 = c(11,21,22,31,35))
df
# C1 C2
# 1 1 11
# 2 0 21
# 3 0 22
# 4 1 31
# 5 1 35
One <- df[df$C1 == "1","C2"]
Zero <- df[df$C1 == "0","C2"]
One
# [1] 11 31 35
Zero
# [1] 21 22
n <- max(length(One),length(Zero))
n
# 3
length(One) <- 3
length(Zero) <- 3
Result <- cbind(One,Zero)
Result
# One Zero
# [1,] 11 21
# [2,] 31 22
# [3,] 35 NA