gpt4 book ai didi

r - 如何在R中将一列拆分为两列

转载 作者:行者123 更新时间:2023-12-02 07:28:37 27 4
gpt4 key购买 nike

我有一个包含 30 行和 1 列的输入文件。我必须将该列拆分为两列,并且必须以最终输出必须具有相同位数的两列的方式拆分它。 举个例子:假设文件格式如下。

1111111111
1010101010
1110011010
1011111111

输出应该是

11111  11111
10101 01010
11100 11010
10111 11111

最佳答案

下面是使用 read.fwf 的方法(读取固定宽度格式):

## make a fake file called 'x'
x <- tempfile()

cat("1111111111
1010101010
1110011010
1011111111", sep = "\n", file = x)

# read just the first line to find out how many characters
# there are in each line. You can use this to determine your widths
Width <- nchar(readLines(x, n = 1))

## Use read.fwf
read.fwf(file = x, widths = rep(Width/2, 2),
colClasses = "character")
# V1 V2
# 1 11111 11111
# 2 10101 01010
# 3 11100 11010
# 4 10111 11111

你也可以使用substr:

A <- readLines(x)
cbind(V1 = substr(A, 1, 5), V2 = substr(A, 6, 10))

或者,不对 substr 的值进行硬编码:

apply(matrix(c(1, Width/2, Width/2+1, Width), ncol = 2), 
2, function(y) substr(readLines(x), y[1], y[2]))

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

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