2

行列 X に列を追加する必要があります。これは X の最初の列である必要があり、すべての値は「1」である必要があります。cbind コマンドで試してみましたが、なぜかうまくいきませんでした。誰かが私を助けることができれば、それは素晴らしいことです。

X のコード (「wagedata」と呼ばれるデータセットから。

X <- as.matrix(wagedata[3:4])

データセットは次のように構成されています - X i の場合、ed educ と exper のみ:

wage    IQ  educ    exper   tenure  age married black   south
    769 93  12  11  2   31  1   0   0
    808 119 18  11  16  37  1   0   0
4

1 に答える 1

5

これはうまくいくようです。うまくいかない場合は、列に文字データが含まれている可能性がありますか?

my.data <- read.table(text = '
wage    IQ  educ    exper   tenure  age married black   south
    769 93  12  11  2   31  1   0   0
    808 119 18  11  16  37  1   0   0
', header = TRUE)

my.matrix <- as.matrix(my.data)

new.column <- rep(1, nrow(my.matrix))
my.matrix <- cbind(new.column, my.matrix)
my.matrix

#      new.column wage  IQ educ exper tenure age married black south
# [1,]          1  769  93   12    11      2  31       1     0     0
# [2,]          1  808 119   18    11     16  37       1     0     0

my.matrix[,c(1,3,4)]
#      new.column  IQ educ
# [1,]          1  93   12
# [2,]          1 119   18

my.matrix[,c(1,4,5)]
#      new.column educ exper
# [1,]          1   12    11
# [2,]          1   18    11

マトリックスの中央に新しい列を追加するには、次を試してください。

my.matrix2 <- as.matrix(my.data)
my.matrix2 <- cbind(my.matrix2[,1:5], new.column, my.matrix2[,6:9])
my.matrix2

#      wage  IQ educ exper tenure new.column age married black south
# [1,]  769  93   12    11      2          1  31       1     0     0
# [2,]  808 119   18    11     16          1  37       1     0     0
于 2013-09-28T15:56:55.483 に答える