从数据帧中删除最后5列而不知道具体数字

use*_*232 3 r dataframe

我有一个数据帧,由一个具有不断变化的列数的for循环创建.

在另一个函数中,我希望删除最后五列.

具有数据帧长度的变量是"单位",其数字在10和150之间.

我已经尝试使用列的名称,但它不起作用.(一旦我尝试打开"newframe"R工作室崩溃,查看myframe就没问题).

drops <- c("name1","name2","name3","name4","name5")
newframe <- results[,!(names(myframe) %in% drops)]
Run Code Online (Sandbox Code Playgroud)

有没有办法只删除数据帧的最后五列而不依赖于列的名称或数字

rns*_*nso 8

length(df) 也可以用:

mydf[1:(length(mydf)-5)]
Run Code Online (Sandbox Code Playgroud)

  • 需要添加一个逗号:`mydf[,1:(length(mydf)-5)]` (3认同)
  • 也可以使用:mydf [1:(ncol(mydf)-5)] (2认同)