r - 展开数据框显示“x”不是常规序列错误
问题描述
我无法扩展以下数据框。
library(tidyr)
library(dplyr)
options(digits = 10)
library(readxl)
以下是数据框
df1= data.frame("ID"=c("A", "A", "A", "A", 'A', "B", 'B', "B", "B", 'B'),
"A_Frequency"=c(1,2,3,4,5, 2.788,3.122,4,4.888,6),
"A_Axis"=c(1,2,3,4,5,6,7,8,9,12),
"B_Frequency"=c(2,3,4,6,7, 2.677, 2.977, 3.877, 4.788, 7),
"B_Axis"=c(1,2,3,4,5,7,8,9,10,14))
我们现在按如下方式创建 df2
df2<- df1 %>%group_by(ID) %>%rowwise() %>% mutate(Sfreq =
min(na.omit(c(A_Frequency, B_Frequency))))
接下来我将数据框扩展如下
df3<- df2%>%group_by(ID)%>%expand(Sfreq=full_seq(Sfreq,0.001))
我收到以下错误
错误:
x
不是常规序列。
我尝试如下更改扩展功能
df3<- df2%>%group_by(ID)%>%expand(Sfreq=full_seq(Sfreq,0.000001))
但是,这要么不起作用,要么有时会减慢代码速度。是否有替代方法来实现相同的目标。
解决方案
根据您的描述,您需要complete
,而不是expand
。请注意,您首先需要ungroup
您的数据框,因为它是按行分组的。
library(tidyverse)
ungroup(df2) %>%
group_by(ID) %>%
complete(Sfreq = seq(min(Sfreq), max(Sfreq), by = 0.001))
推荐阅读
- graphql - 如何使用装饰器 ObjectType 正确定义类并扩展 PickType?
- rest - 我可以在 Serenity Screenplay 测试期间检查网页网络错误吗?
- java - springboot HealthActuator NoSuchBeanDefinitionException 没有名为“healthEndpoint”的bean可用
- mysql - 如何在未来五年内硬编码从现在开始的某些日期时间
- scripting - Rancid / VieWVC - cvs - / configs 的索引
- c# - REST-API 可以使用游标使用 MongoDB 进行分页吗?
- firebase - BigQuery - Crashlytics:查找受所有问题影响的所有用户
- html - 运行项目时我的 css 类未加载
- matlab - Matlab中的边缘链接
- python - 如何获取数据框中列的架构(不是所有架构)?