1. ホーム
  2. r

[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件

2022-02-15 02:26:31

質問

このトピックに関連する新しい質問があります。 名目変数を考慮したRの外れ値の削除 . 新しいケースでは、変数 x と x1 は異なる長さを持っています。

x <- c(-10, 1:6, 50) x1<- c(-20, 1:5, 60) z<- c(1,2,3,4,5,6,7,8) bx <- boxplot(x) bx$out bx1 <- boxplot(x1) bx1$out x<- x[!(x %in% bx$out)] x1 <- x1[!(x1 %in% bx1$out)] x_to_remove<-which(x %in% bx$out) x <- x[!(x %in% bx$out)] x1_to_remove<-which(x1 %in% bx1$out) x1 <- x1[!(x1 %in% bx1$out)] z<-z[-unique(c(x_to_remove,x1_to_remove))] z data.frame(cbind(x,x1,z))

という警告が表示されます。

Warning message:
In cbind(x, x1, z) :
  number of rows of result is not a multiple of vector length (arg 2)

ということは、新しいデータフレームでは、Zの観測値はxとx1に対応しないことになります。 どうすればこの問題を解決できるでしょうか? この解決策は、私を助けていない Rsolnpです。cbind(temp, funv)において:結果の行数がベクトル長の倍数でない(arg 1) それとも、私が何か間違ったことをしているのでしょうか。

編集

プレ {コード

それは間違いです 警告メッセージを表示します。

x_to_remove<-which(x %in% bx$out)
x <- x[!(x %in% bx$out)]

x1_to_remove<-which(x1 %in% bx1$out)
x1 <- x1[!(x1 %in% bx1$out)]

z<-z[-unique(c(x_to_remove,x1_to_remove))]
z  

d=data.frame(cbind(x,x1,z))
d

d

In cbind(x, x1, z) :
  number of rows of result is not a multiple of vector length (arg 2)

この3つのカラムはどのように出力されるのでしょうか?

  x x1 z
1 1  1 2
2 2  2 3
3 3  3 4
4 4  4 5
5 5  5 6
6 6  1 2

6行目(d)は不要です。

解答方法は?

x、x1、zのリストにおける差分の長さが最初の問題ですが、どのz値が各x、x1値と関連しているかはどうすればわかりますか?

{コード

もう一つの問題はここです。

Na  Na  Na
1   1   2
2   2   3
3   3   4
4   4   5
5   5   6
Na  Na  Na
Na  Na  Na

あなたはクリーン x <- c(-10, 1:6, 50) x1<- c(-20, 1:5, 60) z<- c(1,2,3,4,5,6,7,8) length(x) [1] 8 length(x1) [1] 7 length(z) [1] 8 と {コード を計算する前に {コード と {コード

EDIT 希望の出力を得るには、次のコードを試してみてください(/ode行はコメントで追加)。

プレ x<- x[!(x %in% bx$out)] #remove this x1 <- x1[!(x1 %in% bx1$out)] #remove this x_to_remove<-which(x %in% bx$out) x <- x[!(x %in% bx$out)] x1_to_remove<-which(x1 %in% bx1$out) x1 <- x1[!(x1 %in% bx1$out)]