2013-06-27 111 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"