r-错误中的错误(函数(..,row.names = null,check.rows = false,check.nam

  • 本文关键字:check 错误 null nam rows false row 函数 names r dataframe
  • 更新时间 :
  • 英文 :


我是R的初学者。我希望您可以帮助我的问题。我的数据集中有很多信息。我必须提取此信息以创建分开的变量。

开始我使用

splits <- t(as.data.frame(strsplit(as.character(rawdata_r$File),"_")))

但是当我使用它时,我会得到此错误:

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : Arguments imply different number of rows: 1, 4, 5, 2

有什么问题?谢谢您提前的帮助。

您的错误是由as.data.frame()函数丢弃的。R中的数据帧必须具有具有相同数量的行的列。

给定错误消息:strsplit(as.character(rawdata_r$File),"_")已经产生了一个列表,其中有1、4、5和2个嵌套元素。这表明rawdata_r$File是一个因素,您要转换为角色。字符向量的长度为4,元素分别在其中的0、3、4和1" _"。也许这些是snake_case

中的单词

根据您要使用此对象的用途,我建议删除呼叫data.frame的呼叫,以及对t的调用。如果您想使用snake_case命名约定将文件名转换为他们的单词

请参见以下示例:

# create an object with similar characteristics
filenames <- factor(c("foo", "foo_bar_baz_fiz", "foo_bar_baz_fiz_buz", "hello_world"))
# generate the error:
splits <- t(as.data.frame(strsplit(as.character(filenames),"_")))

错误中的错误(函数(...,row.names = null,check.rows = false,check.names = true,:: 参数暗示行数不同:1、4、5、2

# don't generate the error
splits <- strsplit(as.character(filenames), "_")
splits
[[1]]
[1] "foo"
[[2]]
[1] "foo" "bar" "baz" "fiz"
[[3]]
[1] "foo" "bar" "baz" "fiz" "buz"
[[4]]
[1] "hello" "world"

如果OPFile列数据框中的每行固定数量的项目(例如4(,则可以使用_分隔,然后使用一个有效的解决方案来找到一个有效的解决方案 tidyr::separate

库(tidyverse(

rawdata_r %>%
  mutate(File = as.character(File)) %>%
  separate(File, c("Part1", "Part2", "Part3", "Part4"), sep = "_")

上面的语句将在4列中划分File名称 Part1, Part2, Part3, Part4

最新更新