我正在尝试使用另一个数据帧中变量的内容对数据帧中的变量重新排序,但是它不起作用,我也不知道为什么。
任何帮助将不胜感激!
# Starting point
df_main <- data.frame(coat=c(1:5),hanger=c(1:5),book=c(1:5),
bottle=c(1:5),wall=c(1:5))
df_order <- data.frame(order_var=c("wall","book","hanger","coat","bottle"),
number_var=c(1:5))
# Goal
df_goal <- data.frame(wall=c(1:5),book=c(1:5),hanger=c(1:5),
coat=c(1:5),bottle=c(1:5))
# Attempt
df_attempt <- df_main[df_order$order_var]
答案 0 :(得分:0)
在您df_order
中,将stringsAsFactors = FALSE
放入data.frame
通话中。
答案 1 :(得分:0)
问题在于您将顺序作为一个因素,如果将其更改为字符,它将起作用:
df_goal <- df_main[as.character(df_order$order_var)]