Rでは、lmを使用したときにベクター名が表示されるように、ベクターの名前を変更するにはどうすればよいですか? 行列では機能するようですが、ベクトルでは機能しないようです。
実際には、ベクトルが 1 に等しい場所をコードでチェックし、この情報を使用して変数に名前を付けたいと考えています。
これが機能するマトリックスの例を次に示します。
y <- replicate(1, rnorm(20,0,1))
x <- rep(0,20)
x <- cbind(x, rep(0,20))
x[10,1] <- 1
x[15,2] <- 1
x_names <- which(x==1,1)
x_names #produces: 10, 15
colnames(x) <- x_names[,1]
reg <- lm(y ~ x)
summary(reg) #reports the results for x15 and x10
結果は「x10」および「x15」として報告されます。
これが機能しないベクトルの例を次に示します。
y <- replicate(1, rnorm(20,0,1))
x <- rep(0,20)
x[10] <- 1
x_names <- which(x==1,1)
x_names
names(x) <- x_names
reg <- lm(y ~ x)
summary(reg) #reports the result only for x, not x10
2 番目のケースでは、出力で変数に「x10」という名前を付けたいのですが、代わりに「x」としか報告されません。
誰かが解決策を提案できますか?
ありがとうございました!