![](/img/trans.png)
[英]Keep only letters in all rows of specific column - remove all other characters
[英]R: Only keep the 3 (x) first characters in a all rows in a column?
我已經將數千個xls文件導入到data.frame中,並添加了帶有文件名的列。
因此我有數據
data1 data2 data3 filname
A A2 A3 301fg.xls
B B2 B3 302gfg.xls
C C2 C3 303gfsddf.xls
.,.,.,.
我想重命名文件名列中的名稱,使其僅包含3個首字符/數字,從而得到:
data1 data2 data3 filname
A A2 A3 301
B B2 B3 302
C C2 C3 303
.,.,.,.
df$filname <- sub("^(\\d{3}).*$", "\\1", df$filname)
要么
df$filname <- substr(df$filname, 0, 3)
@lukeA發布了對此的最合乎邏輯的答案,但您也可以使用read.fwf
:
> read.fwf(textConnection(mydf$filname), 3)
V1
1 301
2 302
3 303
根據數據的str
,可能需要讀取它read.fwf(textConnection(as.character(mydf$filname)), 3)
如果mydf$filename
是一個factor
變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.