Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用tidyr转换数据帧_R_Tidyr - Fatal编程技术网

使用tidyr转换数据帧

使用tidyr转换数据帧,r,tidyr,R,Tidyr,我有这个: library(tidyr) haves <- data.frame( model1_prediction = c(1, 2) , model2_prediction = c(3, 4) , model3_prediction = c(5, 6) , actuals = c(99.1, 99.2) ) model1_prediction model2_prediction model3_predic

我有这个:

library(tidyr)

haves <- data.frame(
        model1_prediction = c(1, 2)
        , model2_prediction = c(3, 4)
        , model3_prediction = c(5, 6)
        , actuals = c(99.1, 99.2)
      )

model1_prediction model2_prediction model3_prediction actuals                 
1                 3                 5    99.1
2                 4                 6    99.2
library(tidyr)
有%
聚集(
键,长,-id
)
t1
t2%
挑选(
现货
) %>%
变异(
id=行号()
) %>%
聚集(
键,实际值,-id
)
t2
我的___想要%
内部连接(t2,by=c(“id”=“id”))%>%
挑选(
长的
现货
)
我的儿子想要什么
试试这个:

library(tidyr)

haves %>% pivot_longer(cols = -actuals) %>% arrange(value) %>% select(value,actuals)
输出:

  value actuals
1     1    99.1
2     2    99.2
3     3    99.1
4     4    99.2
5     5    99.1
6     6    99.2
试试这个:

library(tidyr)

haves %>% pivot_longer(cols = -actuals) %>% arrange(value) %>% select(value,actuals)
输出:

  value actuals
1     1    99.1
2     2    99.2
3     3    99.1
4     4    99.2
5     5    99.1
6     6    99.2

您可以在
pivot\u longer()
中将
names\u设置为=NULL
,以删除记录原始列名的列。这样可以省去使用
select()
使代码更简洁

library(tidyr)
library(dplyr)

haves %>%
  pivot_longer(-actuals, names_to = NULL) %>%
  arrange(value)

# # A tibble: 6 x 2
#   actuals value
#     <dbl> <dbl>
# 1    99.1     1
# 2    99.2     2
# 3    99.1     3
# 4    99.2     4
# 5    99.1     5
# 6    99.2     6
library(tidyr)
图书馆(dplyr)
有%>%
pivot_longer(-actuals,names_to=NULL)%>%
排列(值)
##tibble:6 x 2
#实际值
#      
# 1    99.1     1
# 2    99.2     2
# 3    99.1     3
# 4    99.2     4
# 5    99.1     5
# 6    99.2     6

您可以在
pivot\u longer()中将
names\u设置为=NULL
以删除记录原始列名的列。这样可以省去使用
select()
使代码更简洁

library(tidyr)
library(dplyr)

haves %>%
  pivot_longer(-actuals, names_to = NULL) %>%
  arrange(value)

# # A tibble: 6 x 2
#   actuals value
#     <dbl> <dbl>
# 1    99.1     1
# 2    99.2     2
# 3    99.1     3
# 4    99.2     4
# 5    99.1     5
# 6    99.2     6
library(tidyr)
图书馆(dplyr)
有%>%
pivot_longer(-actuals,names_to=NULL)%>%
排列(值)
##tibble:6 x 2
#实际值
#      
# 1    99.1     1
# 2    99.2     2
# 3    99.1     3
# 4    99.2     4
# 5    99.1     5
# 6    99.2     6

我认为排列是多余的对吗?@cs0815这取决于您希望最终输出的方式。当然你可以避免:)我认为排列是多余的对吗?@cs0815这取决于你希望最终输出的方式。当然你可以避免:)