0

私のデータは次のようになります。列 1 はバイナリ変数で、列 2 は連続変数です。

Col1    Col2
0       21
0       34
1       36
0       24
1       96
.       .
.       .
0       25

等々。列1のレベルが2つの新しい異なる列(「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    
4

3 に答える 3

1
  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
于 2016-06-25T20:34:08.033 に答える
0

R で t.test を実行します。t.test を実行する前に、因子変数 (0/1) を因子に変換することをお勧めします。この関数は、各行が個別の人物であり、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)
于 2016-06-25T20:33:53.543 に答える