2017-06-16 69 views
1

我从我的数据集下面的列:单独的“英尺/英寸”列到两列

HEIGHT 
    502 
    506 
    506 
    504 

第一个数字是英尺,最后两个是英寸。我怎样才能把它分成两列?我试过split(),但它分裂了每个数字。

Feet Inches Total_Inches 
    5  02   62 
    5  06   66 
    5  06   66 
    5  04   64 
+0

哪里有你不想拆号码? – G5W

回答

4

我认为一个简单的字符串会的工作:

df$feet <- as.numeric(substr(df$HEIGHT,1,1)) 
df$inches <- as.numeric(substr(df$HEIGHT,2,nchar(df$HEIGHT))) 
df$total_inches <- df$feet*12 + df$inches 

df 
# HEIGHT feet inches total_inches 
#1 502 5  2   62 
#2 506 5  6   66 
#3 506 5  6   66 
#4 504 5  4   64 

数据:

df <- structure(list(HEIGHT = c(502L, 506L, 506L, 504L)), .Names = "HEIGHT", row.names = c(NA, 
-4L), class = "data.frame") 
+0

完美!谢谢! –

相关问题