0

シンク()によって作成されたファイル「file.txt」にリストが書き込まれています。そのファイルには、次のような 1 つのリストが含まれており、数値のみが含まれています。

[[1]]
[1] 1 2
[[2]]
[1] 1 2 3

そのようなファイルからリストとしてデータを読み込む方法は?

EDITION : 文字列として読み取ってから、正規表現を使用して削除し、特別な記号'[[*]]'で置き換えます。次に、間のすべての部分文字列を取得し、ベクトルに分割して空のリストに入れます。'[*]''@''@'

4

1 に答える 1

1

このようなものがうまくいくはずです。(正確な詳細は異なる場合がありますが、少なくともこれにより、作業するためのいくつかのアイデアが得られます。)

l <- readLines("file.txt")

l2 <- gsub("\\[{2}\\d+\\]{2}", "@", l)          # Replace [[*]] with '@'
l3 <- gsub("\\[\\d+\\]\\s", "", l2)[-1]         # Remove all [*]
l4 <- paste(l3, collapse=" ")                   # Paste together into one string
l5 <- strsplit(l4, "@")[[1]]                    # Break into list
lapply(l5, function(X) scan(textConnection(X))) # Use scan to convert 2 numeric
# [[1]]
# [1] 1 2
# 
# [[2]]
# [1] 1 2 3
于 2012-04-25T00:21:20.917 に答える