【发布时间】:2023-03-18 00:20:01
【问题描述】:
如图所示,我有一个 .csv 文件。我正在尝试创建图表。我将此图像中的数据帧传递给函数 multi_bar(dt)
代码使用 FOR LOOP 并一次性获取第 1 列 (PS) 和第 2 列 (APS1),然后使用 for 循环和 dplyr 使用第 1 列 (PS) 和第 2 列 (APS2)。基本上我在每次迭代中都需要第 1 列,但另一列将不断从 2,3 等更改。此处的代码未显示图表代码,但当代码在 for 循环迭代中到达第 3 列 (i=3) 时出现错误。它适用于 i=2。
multi_bar=function(dt)
{
library(dplyr)
library(ggplot2)
for(i in 2:ncol(dt))
{
col1 = names(dt)[1]
col2=names(dt[i])
#df=select(x,x[,1], x[,i])
df=dt[,c(1,i)]
df1=df%>%
group_by(df[,1], df[,i])%>%
summarize(n=n())
colnames(df1) <- c(col1,col2,'Count')
col3=names(df1)[3]
ls=list(df1,col1,col2,col3,ncol(dt))
}
return(ls)
}
当我将dataframe传递给这个函数multi_bar时,如图所示(读取csv文件后),出现以下错误
错误:在group_by() 中添加计算列时出现问题。
x mutate() 输入 ..2 有问题。
我..2 = df[, i]。
选择了 x 个未定义的列
运行rlang::last_error() 以查看错误发生的位置。
另外:警告信息:
错误:在group_by() 中添加计算列时出现问题。
x mutate() 输入 ..2 有问题。
我..2 = df[, i]。
选择了 x 个未定义的列
运行rlang::last_error() 看看哪里出错了。
【问题讨论】:
-
那么当你运行
rlang::last_error()时会发生什么?