【发布时间】:2021-03-25 13:49:10
【问题描述】:
我正在尝试计算一个大型数据集的剩余总容量和平均容量,我认为这将是一个简单的例子,即在我使用 pivot更宽创建的数据框上使用 rowSums 和 rowMeans,但我一直遇到同样的错误。
df<-data.frame("parent"=c("001","001","001","001","002","002","002","002",
"003","003","003","003","004","004","004","004"),"tube"=c("tube1",
"tube2","tube3","tube4","tube1","tube2","tube3","tube4",
"tube1","tube2","tube3","tube4","tube1","tube2","tube3","tube4"),
"microlitres"=c(100,120,60,100,NA,200,100,120,
60,100,120,40,100,120,400,NA))
pivot_wider(df,names_from = tube,values_from = microlitres)->df
df$sum<-rowSums(df,na.rm=TRUE)
我得到“错误:x 必须是数字”,然后当我将代码更改为
df$sum<-rowSums(as.numeric(df),na.rm=TRUE)
我得到“错误:列表对象不能被强制加倍”。
我在谷歌上搜索了很长时间,但没有发现任何有用的信息。我敢肯定有一个简单的修复,但我只是看不到它。我尝试过将 mutate 与嵌套的 rowSums 一起使用,我尝试过 unlist(),并将其转换为矩阵。我将非常感谢任何帮助和建议!
【问题讨论】:
标签: r