【发布时间】:2017-05-05 13:01:32
【问题描述】:
有一个数据框,比如说 mtcars,我想从不同的变量中提取不同的值,最后我想在 R 中形成一个 CSV 数据框。
数据
mpg cyl disp hp
21.0 6160.0 110 3.90
21.0 6160.0 110 3.90
22.8 4108.0 93 3.85
21.4 6258.0 110 3.08
18.7 8360.0 175 3.15
所以我想从 mpg 变量中提取第一个 2 个字母,从 cyl 中我想提取前 3 个数字.....等等,为此我有一个如下键
密钥文件
header startkey endkey
mpg 0 2
cyl 0 3
disp 1 2
hp 2 4
预期输出
mpg cyl disp hp
21 616 11 .90
21 616 11 .90
22 410 93 .85
21 625 11 .08
18 836 17 .15
试过了:
vars = unique(as.character(keyfile$header))
start_keys = keyfile$startkey
end_keys = keyfile$endkey
for(i in 1:length(vars)){
for (j in 1:length(start_key)){
for(k in 1:length(end_key)){
data = substr(data$i,j,k)
filename = paste(deparse(substitute(output_data)), ".csv",sep="")
write.csv(data,file = filename)
}
}
}
请帮帮我
【问题讨论】: