0

データ セットに変換したい要素を含む一連の文字列があります。基本的に、空白を削除して、データの列を残したいと思っています。これを行う最も簡単な方法、そしておそらく唯一の方法は、外部ファイルに書き込みmy.data、その外部ファイルを R に読み込むことです。新しいファイルの書き込みと読み取りを伴わない、より効率的なソリューションはありますか? ご提案ありがとうございます。私はベースRが好きです。

my.data <- c('   abc        -1.10      1.18       -3.41      1.21 ',
             '    def        -1.71      0.21     -2.14    1.29      ',
             '   gg          2.19      2.93       -1.16       3.55   ',
             '  hvv4      0.00       -0.01           0.04     0.11       ')

my.data <- data.frame(my.data, stringsAsFactors=FALSE)

desired.result <- read.table(text = '

  parm1   beta    SE     lcl    ucl
   abc   -1.10   1.18  -3.41   1.21
   def   -1.71   0.21  -2.14   1.29
    gg    2.19   2.93  -1.16   3.55
   vv4    0.00  -0.01  -0.04   0.11

', header = TRUE, stringsAsFactors=FALSE)
4

2 に答える 2

4

read.table文字列で使用しないのはなぜですか?

out <- read.table(text = my.data, stringsAsFactors=FALSE, 
                  header = FALSE, strip.white=TRUE)
str(out)
# 'data.frame': 4 obs. of  5 variables:
#  $ V1: chr  "abc" "def" "gg" "hvv4"
#  $ V2: num  -1.1 -1.71 2.19 0
#  $ V3: num  1.18 0.21 2.93 -0.01
#  $ V4: num  -3.41 -2.14 -1.16 0.04
#  $ V5: num  1.21 1.29 3.55 0.11
于 2013-11-03T06:40:48.897 に答える
1
x=t(unique(unlist(strsplit(x=my.data,split=" ")))[-1])
cleaned=matrix(x,5,4)
t(cleaned)

      [,1]    [,2]    [,3]    [,4]   
[1,] "abc"   "def"   "gg"    "hvv4" 
[2,] "-1.10" "-1.71" "2.19"  "0.00" 
[3,] "1.18"  "0.21"  "2.93"  "-0.01"
[4,] "-3.41" "-2.14" "-1.16" "0.04" 
[5,] "1.21"  "1.29"  "3.55"  "0.11" 

cleaned

      [,1]   [,2]    [,3]    [,4]    [,5]  
[1,] "abc"  "-1.10" "1.18"  "-3.41" "1.21"
[2,] "def"  "-1.71" "0.21"  "-2.14" "1.29"
[3,] "gg"   "2.19"  "2.93"  "-1.16" "3.55"
[4,] "hvv4" "0.00"  "-0.01" "0.04"  "0.11"
于 2013-11-03T07:16:26.633 に答える