r - 更改数据顺序数据框 R
问题描述
我有一个具有以下结构的数据框:
variable_1<-rep("one",times=8)
variable_2<-c("one","one","two","two","three","three","four","four")
actual<-c(0,10,0,20,0,30,0,40)
predicted<-c(10,0,20,0,30,0,40,0)
data_1<-data.frame(cbind(variable_1,variable_2,actual,predicted))
我想移动列以获得具有以下结构的数据框:
variable_1_new<-rep("one",times=4)
variable_2_new<-c("one","two","three","four")
actual_new<-c(10,20,30,40)
predicted_new<-c(10,20,30,40)
data_2<-data.frame(cbind(variable_1_new,variable_2_new,actual_new,predicted_new))
任何帮助将不胜感激。
解决方案
首先,确保以正确的格式读取您的数据:字符串不是因素
您可以通过删除 cbind来做到这一点
data_1<-data.frame(variable_1,variable_2,actual,predicted)
或通过将标志 stringsAsFactors设置为false
data_1<-data.frame(cbind(variable_1,variable_2,actual,predicted),stringsAsFactors = F)
为了能够计算实际列和预测列的总和,您首先必须将列转换为数字
data_1$actual <- as.numeric(data_1$actual)
data_1$predicted <- as.numeric(data_1$predicted)
使用聚合计算列式总和
sums <- aggregate(data_1[c("actual","predicted")], data_1[c("variable_1","variable_2")], sum)
最后,您需要更改顺序
data_2 <- sums[order(sums$actual),]
推荐阅读
- c - 为什么 atmega32 只收到字符串的最后 16 个字符?
- java - UseConcMarkSweepGC 已被弃用,它的替代品是什么?
- mysql - SQL组合2个没有主键的表
- python - Python matplotlib直方图很慢
- java - MongoDB存储随机数据
- c++ - 如何允许通配符模板参数
- python - 我想用 django 在 htm 文件中导入 python 代码
- android - Android 将数据从 IntentService 发送到绑定的 Activity
- r - 尝试在 R 中实现套索时出现“参数 Y 缺失”?
- php - MySQL & Eloquent 查询