我正在處理一個大型數據集(約1500行),並且當我構建數據集時,我沒有想到提前分離我的標識符,所以它們是集中成一個長串。將字符串分成3列:文本,數字,文本
標識字符串位於標有「Polygon_Name」的列中。我想保留此列,並將此列中的字符串值拆分爲3個附加列。例如,如果任何「Polygon_Name」單元格中嵌入了一個數字,比如Canker14B,我想最終得到以下列:(1)原始的Polygon_Name,(2)之前的所有文本號碼,(3)號碼,(4)號碼後的全部文本。
我的數據的小部分:
df <- structure(list(Bolt_ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L), .Label = "N1T.3.4.15.0.C", class = "factor"),
Polygon_Name = structure(c(10L, 1L, 9L, 6L, 3L, 7L, 2L, 8L,
4L, 5L), .Label = c("C", "Canker15B", "Canker15Left", "Canker15Right",
"Canker16", "Canker17", "CankS15B", "CankS16", "CankS17",
"S"), class = "factor"), Measure = c(19.342, 25.962, 0.408,
0.008, 0.074, 0.41, 0.011, 0.251, 0.056, 0.034)), .Names = c("Bolt_ID",
"Polygon_Name", "Measure"), row.names = c(1L, 2L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L), class = "data.frame")
電流輸出:
最終輸出(I這個手動建立):
我已經想出瞭如何提取用下面的代碼數量:
library(stringr)
regexp <- "[[:digit:]]+"
df$Poly_Num <- str_extract(df$Polygon_Name, regexp)
但我仍然在努力前後數後拉出來的文字。任何想法將不勝感激。
非常乾淨,短的選項。我也喜歡這個解決方案不會在任何列中放置「NA」。 – KKL234