当我尝试过滤我的数据框时,我在 R 中遇到错误消息。我试过研究这个问题,但似乎没有任何与我的需求直接相关的东西。
首先,我遇到了一些重复行名的问题,这就是我设置row.names = NULL.
my_data <- read.csv("my_path\\my_folder\\file.csv", sep = "|", row.names = NULL)
然后我在移动列时遇到了一些问题,所以我使用了:
colnames(my_data) <- c(colnames(my_data)[-1],NULL)
这些命令似乎为我解决了这个问题。但是现在我无法使用 tidyverse 库过滤我的数据。我已经尝试过filter(my_data$column_1 >45),filter(column_1 >45)但我收到了相同的错误消息。
当我输入过滤器命令时,我得到了弹出窗口:
(TypeError): Cannot read property 'substr' of null
如果我尝试执行命令,我会得到:
Error in env_bind_lazy(private$bindings, !!!set_names(promises, names_bindings)) :
attempt to use zero-length variable name
我觉得这与此有关,row.names = NULL但我很难找到一种替代方法来按顺序排列我的数据框,并且我可以正确过滤它。任何建议将不胜感激。
谢谢大家!
(编辑)从 csv 文件中读取的示例数据:此外,我发现只有在运行colnames(my_data) <- c(colnames(my_data)[-1],NULL)命令后才会出现过滤器问题。
my_index|GT|GQ|DP
1|" 0/1"|67|14
2|" 1/1"|52|11
1|" 0/1"|21|50
2|" 0/1"|39|10
输出结果:
structure(list(index = 1:4, GT = c(" 0/1", " 1/1", " 0/1", " 0/1"
), GQ = c(67L, 52L, 21L, 39L), DP = c(14L, 11L, 5L, 1L)), row.names = c(NA,
4L), class = "data.frame")