r - 如何在R中将数字拆分为数字

标签 r split dataframe

我有一个带有数字 ID 变量的数据框,可以从多级采样方案中识别主要、次要和最终采样单元。我想将原始 ID 变量拆分为三个新变量,分别标识不同的抽样单位:

例子:

>df[1:2,]
ID Var        var1     var2      var3     var4         var5  
501901          9    SP.1          1        W         12.10    
501901          9    SP.1          2        W         17.68  

我想要的是:
>df[1:2,]
ID1    ID2     ID3   var1   var2  var3     var4    var5  
5      01      901    9    SP.1    1        W     12.10    
5      01      901    9    SP.1    2        W     17.68  

我知道 R 中有一些函数可用于拆分字符串,但我找不到相同的数字工具。

谢谢,

胡安

最佳答案

另一种选择是使用 read.fwf 重新读取第一列并指定宽度:

cbind(read.fwf(file = textConnection(as.character(df[, 1])), 
               widths = c(1, 2, 3), colClasses = "character", 
               col.names = c("ID1", "ID2", "ID3")), 
      df[-1])
#   ID1 ID2 ID3 var1 var2 var3 var4  var5
# 1   5  01 901    9 SP.1    1    W 12.10
# 2   5  01 901    9 SP.1    2    W 17.68

这里的一个优点是能够以方便的方式设置结果列名称,并确保列是字符,从而保留可能存在的任何前导零。

关于r - 如何在R中将数字拆分为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498235/

相关文章:

php - 在发送到 MySQL 之前拆分数组数据

r - 计算例如具有多列 data.frames 的列表中的平均值

r - 如何使用R编辑或修改或更改大文本文件中的单行

r - 引用另一个 data.table 创建新变量

java - 如何将 ArrayList<>() 中的字符串解析为 Map<String, String>

C# - 按任意数量的制表符和空格拆分字符串

python - 如何在Python中将数据框中的列平均值四舍五入为整数

dataframe - Julia DataFrames.jl 双分组依据

r - 为什么要使用 `all_of` 来选择列?

javascript - Shiny.setInputValue 仅适用于第二次尝试