2

Rには2つのベクトルがあります。

a <- c(2,6,4,9,8)
b <- c(8,9,4,2,1)

ベクトル a と b は、私が保存したい方法で並べられています (これらを相互にプロットします)。a から 8 以上の値を削除したい場合は、ベクトル a から特定の値を削除し、beg の同じインデックスの値を削除します。

a <- a[a<8]

...これらの値のない新しいベクトルを提供します。

b の同じインデックス (この例ではインデックス 4 と 5) から値を削除する簡単な方法はありますか? おそらくデータフレームを使用してですか?

4

5 に答える 5

3

このようなもの:

keep <- a < 8
a <- a[keep]
b <- b[keep]

以下を使用することもできます。

keep <- which( a < 8 )
于 2013-11-14T14:44:02.767 に答える
1

なぜだめですか:

d <- data.frame(a=a, b=b)
d <- d[d$a < 8, ]

あるいは:

d <- subset(d, a < 8)
于 2013-11-14T14:45:01.400 に答える
0

最初に b からインデックスを削除し、次に a からインデックスを削除します

b <- b[a<8]
a <- a[a<8]

a<8 は、8 より小さいインデックスを定義するベクトルを返します。

于 2013-11-14T14:44:39.447 に答える
0

これが純粋にプロット用である場合は、 をb使用して x 軸をいじるのを避けることができますNA

a[a>8]<-NA

plot(b,a) #works for point or line graphs
于 2013-11-14T16:36:29.457 に答える