Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中读取和命名多个.txt文件_R_Lapply_Read.table - Fatal编程技术网

在R中读取和命名多个.txt文件

在R中读取和命名多个.txt文件,r,lapply,read.table,R,Lapply,Read.table,我想在R中读取并命名多个.txt文件。为了更清楚(示例):我有两个子文件夹,每个子文件夹有三个.txt文件(它们具有相同的名称)。子文件夹“test”有3个名为“alpha.txt”、“bita.txt”、“gamma.txt”的.txt文件,子文件夹“train”有3个名为“alpha.txt”、“bita.txt”、“gamma.txt”的.txt文件。我正在使用以下代码: files <- dir(recursive=TRUE,pattern ='\\.txt$') List <

我想在R中读取并命名多个.txt文件。为了更清楚(示例):我有两个子文件夹,每个子文件夹有三个.txt文件(它们具有相同的名称)。子文件夹“test”有3个名为“alpha.txt”、“bita.txt”、“gamma.txt”的.txt文件,子文件夹“train”有3个名为“alpha.txt”、“bita.txt”、“gamma.txt”的.txt文件。我正在使用以下代码:

files <- dir(recursive=TRUE,pattern ='\\.txt$')
List <- lapply(files,read.table,fill=TRUE)

文件我在我的工作目录
/train
/test
中创建了两个文件夹。我们创建两个数组,并将它们分别写入每个文件夹

df1 <- data.frame(matrix(rnorm(9), 3, 3))
df2 <- data.frame(matrix(runif(12), 4,3))
write(df1, './test/alpha.txt')
write(df2, './train/alpha.txt')
带有
名称(列表)
files <- dir(recursive=TRUE,pattern ='\\.txt$')
List <- lapply(files,read.table,fill=TRUE)

files
[1] "test/alpha.txt"  "train/alpha.txt"
newnames <- gsub('/', '_', files)
newnames1 <- gsub('\\.txt', '', newnames)
newnames1
[1] "test_alpha"  "train_alpha"
names(List) <- newnames1
List
$test_alpha
          V1          V2         V3         V4        V5
1 -0.6594299 -0.01881557  0.7076588 -0.7096888 0.3629274
2 -1.4401000  1.59659000 -1.9041430  2.3079960        NA

$train_alpha
         V1        V2        V3        V4        V5
1 0.9307107 0.6257928 0.6903179 0.5143920 0.6798936
2 0.3652738 0.9297527 0.1902556 0.7243708 0.4541548
3 0.5565041 0.5276907        NA        NA        NA