更改数据顺序数据框R.?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (107)

我有一个具有以下结构的数据框:

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),]

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问9 回答
  • uncle_light

    5 粉丝518 提问8 回答
  • 人生的旅途

    10 粉丝484 提问7 回答
  • 富有想象力的人

    3 粉丝0 提问7 回答

扫码关注云+社区

领取腾讯云代金券