将“英尺/英寸”列分成两列

时间:2017-06-16 20:52:03

标签: r

我的数据集中有以下列:

HEIGHT
  502
  506
  506
  504

第一个数字是英尺,最后两个是英寸。如何将其拆分为两列?我尝试过split(),但它会将每个数字分开。

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

1 个答案:

答案 0 :(得分: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")