2013-06-27 77 views
1

分隔我有例如数据帧的串中提取数字,R:从由逗号

X1 12:37 
X2 3,0,0 

我想提取3 0,0分别到一个新的数据帧。

Ne idea我怎么能这样做?

在此先感谢...

回答

1

使用@ agstudy的 “RES1”:

res1 <- read.table(
    text='X1 12:37 
    X2 3,0,0') 
temp <- read.table(text = as.character(res1$V2), 
        sep = ",", header = FALSE, fill = TRUE) 
temp 
#  V1 V2 V3 
# 1 12:37 NA NA 
# 2  3 0 0 
temp[complete.cases(temp), ] 
# V1 V2 V3 
# 2 3 0 0 
+0

+1比strsplit更好的表面粗糙度 – agstudy

1

你可以得到号码取出来使用strsplit

strsplit("3,0,0", ",") 

它,如果你的数据实际上是在数据帧,或只是一个载体(人并不完全清楚R的新手倾向于将所有包含数据的数据都称为“数据框”),但希望您可以看到如何应用该功能。

2

您可以先阅读您的Lines并将它们拆分为从行名称中提取Number。

ll <- readLines(textConnection('X1 12:37 
X2 3,0,0')) 
res <- strsplit(ll,' ') 
[[1]] 
[1] "X1" "12:37" ""  

[[2]] 
[1] "X2" ""  "3,0,0" 

或者使用read.table

res1 <- read.table(text='X1 12:37 
X2 3,0,0') 
    V1 V2 
1 X1 12:37 
2 X2 3,0,0 

比你可以访问包含例如逗号的元素,由其他方案中提到再次申请strsplit

unlist(res)[grep(',',unlist(res))] 
"3,0,0"