0

ファイル(1000列、2000行)では、列ごとにその隣に別の列があります。何かのようなもの:

[,1] [,2] [,3] [,4] [,5] [,6]
3      3    4    4     4     6
6      5    2    2     5     1
9      1    3    5     4     1
2      5    6    4     8     5
6      1    5    2     3     1

対応する値が1である値を削除したい結果:

[,1] [,3] [,5] 
3    4     4
6    2     8
2    3
     6
     5
4

1 に答える 1

0

@shellterが言ったことを反映するために、質問に試したことを含めることは有益であり、礼儀正しいことです。

splitとを使用してこれを実現するコンパクトな方法を次に示しmapplyます。

d <- read.table(text='3      3    4    4     4     6
6      5    2    2     5     1
9      1    3    5     4     1
2      5    6    4     8     5
6      1    5    2     3     1', header=FALSE)

cols <- split(as.list(d), rep(1:2, length.out=length(d)))
mapply(function(col1, col2) col1[col2 != 1], 
       cols[[1]], cols[[2]], SIMPLIFY=FALSE)

# $V1
# [1] 3 6 2
# 
# $V3
# [1] 4 2 3 6 5
# 
# $V5
# [1] 4 8
于 2012-11-07T22:16:42.527 に答える