我使用了搜索框并找到similar questions,但不是相同的搜索框。看来这是一个容易解决的问题(我是R-newbee)。
我只是想创建一个新的数据框并为其添加值。毫不奇怪,R抛出一个错误,表示行不匹配。
这是代码
d <- data.frame()
files <- list.files(pattern="*.lst", full.names=T, recursive=FALSE)
d$fileName <- lapply(files, basename)
d$node <- gsub("([^.]+)\.[^\.lst]+\.lst", "$1", d$fileName, perl=TRUE)
这是错误
$<-.data.frame
中的错误(*tmp*
,&#34; fileName&#34;,value = 列表(&#34; A-bom.WR-P-E-A.lst&#34;,:替换有337行,数据有0
我该如何解决这个问题?我考虑使用与文件相同的行数填充d
,但我不认为这是最好的方法吗?
答案 0 :(得分:1)
只需在第一次使用数据框时创建数据框,因此您不必添加&#34;添加&#34;行到零行的数据框。并且您可以使用sapply
返回(命名)向量而不是列表。
files <- list.files(pattern="*.lst", full.names=T, recursive=FALSE)
d <- data.frame(fileName = unname(sapply(files, basename)))
d$node <- gsub("([^.]+)\\.[^\\.lst]+\\.lst", "$1", d$fileName, perl=TRUE)
您的正则表达式导致错误,但是,我对正则表达式并不熟悉,因此您可能必须修复我的修复程序; - )