gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 10:50:25 33 4
gpt4 key购买 nike

我有一个带有数字 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/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com