19

複数の列を持つデータフレームがあります。ここで、row.names列(列1)を削除したいので、他のすべての列を選択しようとします。

例えば、

newdata <- olddata[,2:10]

最後の列にデフォルトの記号があるので、すべての列を数える必要はありませんか?私は試した

newdata <- olddata[,2:]

しかし、それは機能しませんでした。

4

4 に答える 4

19

データの1つの列を削除し、他のすべての列を選択したくないことに焦点を当てたほうがよいと思います。@Arunが提案したようにこれを行うことができます:

olddata[,-1]

または:

olddata$ColNameToDelete <- NULL
于 2013-03-10T19:58:06.980 に答える
15

最後の列は次のように取得できますncol()

 newdata <- olddata[,2:ncol(olddata)]
于 2018-10-11T15:00:37.707 に答える
5

Freemanの答えに基づいて構築するために、Tidyverseでは、パイプされたデータオブジェクトの代わりにドットを使用できます。これは、オブジェクトへの繰り返し参照を使用してコードを簡略化するのに役立ちます。

library(tidyverse)

newdata <- olddata %>% select( 2:ncol(.) )

また

newdata <- olddata %>% .[,2:ncol(.)]

于 2020-04-27T02:57:05.323 に答える
0

私はこれを使用して、最初から1つ以上の列がないすべての列を選択しています。

newdata = olddata[ , 2:dim(olddata)[2]] # from column 2 to the last one (the original question)
newdata = olddata[ , 5:dim(olddata)[2]] # from column 5 to the last one (example of more columns)
于 2021-11-22T02:32:39.170 に答える