2015-10-15 42 views
1

我想連接字符單元格和十六進制數字以及下劃線符號 R中的連接charcter單元格和十六進制數字

Input - 
Absolute  0x00 
True   0x95 

Output - 
Absolute_0x00 
True_0x95 

我試圖使用粘貼功能來連接這兩個細胞用下劃線作爲分離器,但它的十六進制數轉換成整數。問題是 - 如果只將它轉換爲2個整數,我仍然可以。我的整個文件包含多行參數與這兩個十六進制數字,但R而不是將其轉換爲只有2個整數,它將轉換爲多個不同的整數。使用do.call請幫助 TIA

回答

1

嘗試:

do.call(function(...) paste(..., sep="_"), df) 
[1] "Absolute_0x00" "True_0x95" 

可能存在的因素和字符串也是一個問題。爲確保數字轉換不會發生,請考慮在讀取數據時首先運行df[] <- lapply(df, as.character)或指定colClasses參數。

數據

df <- structure(list(V1 = c("Absolute", "True"), V2 = c("0x00", "0x95" 
)), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA, 
-2L)) 
+0

或者只是'do.call(粘貼,C(SEP = 「_」,DF))' –

+1

真棒。有用。非常感謝。你是對的人物和數字轉換 – SAS

+0

樂意幫忙。如果您認爲它解決了問題,請考慮將其作爲解決方案。 –