Yaleで、遊んで学ぶ日々。
Yaleで、遊んで学ぶ日々。
囲碁、ときどきプログラミング、ところにより経済。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Rでベクトルの一部を取り出したい時には、要素番号を整数か論理値のベクトルで与える。
[1] "A" "E"
pythonで同じ事をやろうとするとエラーが出る。リストはインデックスとして受け付けられない。
x = ["A", "B", "C", "D", "E", "F"]
x[ [2, 5] ]
x[ [False, False, True, False, True, True] ]
Traceback (most recent call last):
ただし、先ほどののように固定要素ごとに抜き出したいのなら、サブスクリプティングという方法でできる。x[i::k] という形で、iがスタート地点、kが間隔。
x = ["A", "B", "C", "D", "E", "F"]
x[1::3]
x[0::2]
x <- c("A", "B", "C", "D", "E", "F")
x[ c(1, 5) ]
x[ c(F, F, T, F, T, T) ]
[1] "A" "E"
[1] "C" "E" "F"
だから、例えば2つおきとか3つおきとかで要素を取得したい場合は、そういうインデックスを作って代入すれば良い。例えば、第2要素から始まって3つおきに要素を抜き出すには、[2, 5] というベクトルを作って代入するか、[F, T, F, F, T, F] というベクトルを作って代入する。
x <- c("A", "B", "C", "D", "E", "F")
x[ seq(2, length(x), by=3) ]
x[ (1:length(x) %% 3) == 2 ]
[1] "B" "E"
[1] "B" "E"
pythonで同じ事をやろうとするとエラーが出る。リストはインデックスとして受け付けられない。
x = ["A", "B", "C", "D", "E", "F"]
x[ [2, 5] ]
x[ [False, False, True, False, True, True] ]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not list
ただし、先ほどののように固定要素ごとに抜き出したいのなら、サブスクリプティングという方法でできる。x[i::k] という形で、iがスタート地点、kが間隔。
x = ["A", "B", "C", "D", "E", "F"]
x[1::3]
x[0::2]
['B', 'E']
['A', 'C', 'E']
PR
Calender
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Latest Posts
(11/16)
(04/28)
(04/16)
(04/11)
(04/05)
Latest Trackbacks
Category
Access Analysis