写一个严谨的R脚本,以所读入的csv文件三行为一个单位,将每个单位第一行从右向左数的第一个括号内数据输入至新文件第一列,将每个单位第三行数据输入至新文件第二列
时间: 2024-03-26 12:38:44 浏览: 40
好的,我明白了你的要求。以下是一个严谨的 R 脚本,可以实现你所需的功能:
```r
# 读入 CSV 文件
data <- read.csv("your_file.csv")
# 计算行数
nrow_data <- nrow(data)
# 创建新的数据框
new_data <- data.frame(matrix(nrow = nrow_data/3, ncol = 2))
# 将第一列数据输入至新文件第一列
for (i in 1:(nrow_data/3)) {
# 将第一行数据按照括号切分
split_data <- strsplit(as.character(data[(i-1)*3+1, 1]), "\\(")[[1]]
# 提取第一个括号内的数据
target_data <- gsub("\\)", "", split_data[length(split_data)])
# 将数据写入新的数据框
new_data[i, 1] <- target_data
}
# 将第三行数据输入至新文件第二列
for (i in 1:(nrow_data/3)) {
new_data[i, 2] <- data[(i-1)*3+3, 1]
}
# 将新的数据框写入 CSV 文件
write.csv(new_data, file = "new_file.csv", row.names = FALSE)
```
这个脚本会按照你所说的方式,将 csv 文件中每个单位第一行从右向左数的第一个括号内数据输入至新文件第一列,将每个单位第三行数据输入至新文件第二列,最后将新的数据框写入一个新的 csv 文件中。注意,我们假设每个单位都是三行,因此在读取数据时需要将行数除以 3。
阅读全文