複数の列を持つデータフレームがあります。ここで、row.names列(列1)を削除したいので、他のすべての列を選択しようとします。
例えば、
newdata <- olddata[,2:10]
最後の列にデフォルトの記号があるので、すべての列を数える必要はありませんか?私は試した
newdata <- olddata[,2:]
しかし、それは機能しませんでした。
複数の列を持つデータフレームがあります。ここで、row.names列(列1)を削除したいので、他のすべての列を選択しようとします。
例えば、
newdata <- olddata[,2:10]
最後の列にデフォルトの記号があるので、すべての列を数える必要はありませんか?私は試した
newdata <- olddata[,2:]
しかし、それは機能しませんでした。
データの1つの列を削除し、他のすべての列を選択したくないことに焦点を当てたほうがよいと思います。@Arunが提案したようにこれを行うことができます:
olddata[,-1]
または:
olddata$ColNameToDelete <- NULL
最後の列は次のように取得できますncol()
:
newdata <- olddata[,2:ncol(olddata)]
Freemanの答えに基づいて構築するために、Tidyverseでは、パイプされたデータオブジェクトの代わりにドットを使用できます。これは、オブジェクトへの繰り返し参照を使用してコードを簡略化するのに役立ちます。
library(tidyverse)
newdata <- olddata %>% select( 2:ncol(.) )
また
newdata <- olddata %>% .[,2:ncol(.)]
私はこれを使用して、最初から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)