[R] StrSplit

jim holtman jholtman at gmail.com
Sat Oct 9 18:30:59 CEST 2010


Is this what you are after:

> x <- c("Scheme Code;Scheme Name;Net Asset Value;Repurchase Price;Sale Price;Date"
+ , ""
+  ,"Open Ended Schemes ( Liquid )"
+ , ""
+ , ""
+ , "AIG Global Investment Group Mutual Fund"
+ , "106506;AIG India Liquid Fund-Institutional Plan-Daily Dividend
Option;1001.0000;1001.0000;1001.0000;02-Oct-2010"
+ , "106511;AIG India Liquid Fund-Institutional Plan-Growth
Option;1210.4612;1210.4612;1210.4612;02-Oct-2010"
+ , "106507;AIG India Liquid Fund-Institutional Plan-Weekly Dividend
Option;1001.8765;1001.8765;1001.8765;02-Oct-2010"
+ , "106503;AIG India Liquid Fund-Retail Plan-DailyDividend
Option;1001.0000;1001.0000;1001.0000;02-Oct-2010")
>
> myData <- read.table(textConnection(x[7:10]), sep=';')
> closeAllConnections()
> str(myData)
'data.frame':   4 obs. of  6 variables:
 $ V1: int  106506 106511 106507 106503
 $ V2: Factor w/ 4 levels "AIG India Liquid Fund-Institutional
Plan-Daily Dividend Option",..: 1 2 3 4
 $ V3: num  1001 1210 1002 1001
 $ V4: num  1001 1210 1002 1001
 $ V5: num  1001 1210 1002 1001
 $ V6: Factor w/ 1 level "02-Oct-2010": 1 1 1 1
> myData
      V1
V2       V3       V4       V5          V6
1 106506  AIG India Liquid Fund-Institutional Plan-Daily Dividend
Option 1001.000 1001.000 1001.000 02-Oct-2010
2 106511          AIG India Liquid Fund-Institutional Plan-Growth
Option 1210.461 1210.461 1210.461 02-Oct-2010
3 106507 AIG India Liquid Fund-Institutional Plan-Weekly Dividend
Option 1001.876 1001.876 1001.876 02-Oct-2010
4 106503          AIG India Liquid Fund-Retail Plan-DailyDividend
Option 1001.000 1001.000 1001.000 02-Oct-2010
>
>


On Sat, Oct 9, 2010 at 12:18 PM, Santosh Srinivas
<santosh.srinivas at gmail.com> wrote:
> Newbie question ...
>
> I am looking something equivalent to read.delim but  which accepts a text line as parameter instead of a file input.
>
> Below is my problem, I'm unable to get the exact output which is a simple data frame of the data where the delimiter exists ... coming quite close though
>
> I have a data frame with 10 lines called MF_Data
>> MF_Data [1:10]
>  [1] "Scheme Code;Scheme Name;Net Asset Value;Repurchase Price;Sale Price;Date"
>  [2] ""
>  [3] "Open Ended Schemes ( Liquid )"
>  [4] ""
>  [5] ""
>  [6] "AIG Global Investment Group Mutual Fund"
>  [7] "106506;AIG India Liquid Fund-Institutional Plan-Daily Dividend Option;1001.0000;1001.0000;1001.0000;02-Oct-2010"
>  [8] "106511;AIG India Liquid Fund-Institutional Plan-Growth Option;1210.4612;1210.4612;1210.4612;02-Oct-2010"
>  [9] "106507;AIG India Liquid Fund-Institutional Plan-Weekly Dividend Option;1001.8765;1001.8765;1001.8765;02-Oct-2010"
> [10] "106503;AIG India Liquid Fund-Retail Plan-DailyDividend Option;1001.0000;1001.0000;1001.0000;02-Oct-2010"
>
>
> Now for the lines below .. they are delimted by ; ... I am using
>
>  tempTxt <- MF_Data[7]
>  MF_Data_F <-   unlist(strsplit(tempTxt,";", fixed = TRUE))
>  tempTxt <- MF_Data[8]
>  MF_Data_F1 <-  unlist(strsplit(tempTxt,";", fixed = TRUE))
>  MF_Data_F <- rbind(MF_Data_F,MF_Data_F1)
>
> But MF_Data_F is not a simple 2X6 data frame which is what I want
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?



More information about the R-help mailing list