我是 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
。如果您想使用蛇形命名约定将文件名转换为单词
请参见以下示例:
# 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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)