1. ホーム
  2. r

[解決済み] Rでデータフレームの最初の行を削除するには?

2023-02-15 17:46:01

質問

1000行以上ある11列のデータセットがあります。列は、V1、V2、V11 などとラベル付けされていました。 私は、"c" コマンドを使用して、名前を私にとってより便利なものに置き換えたのです。 1 行目にも各列のラベルがあり、実際のデータは 2 行目から始まることに気づきませんでした。

1 行目を削除してデクリメントする方法はありますか?

どのように解決するのですか?

元ファイルのラベルをこのように保管してください。

df = read.table('data.txt', header = T)

xとyという名前の列がある場合、このようにアドレスを指定することができます。

df$x
df$y

実際にdata.frameから最初の行を削除したい場合は、このように負のインデックスを使用することができます。

df = df[-1,]

data.frameからカラムを削除したい場合、NULLを代入することができます。

df$x = NULL

Rでdata.frameを作成し、操作する簡単な例をいくつか紹介します。

# create a data.frame with 10 rows
> x = rnorm(10)
> y = runif(10)
> df = data.frame( x, y )

# write it to a file
> write.table( df, 'test.txt', row.names = F, quote = F )

# read a data.frame from a file: 
> read.table( df, 'test.txt', header = T )

> df$x
 [1] -0.95343778 -0.63098637 -1.30646529  1.38906143  0.51703237 -0.02246754
 [7]  0.20583548  0.21530721  0.69087460  2.30610998
> df$y
 [1] 0.66658148 0.15355851 0.60098886 0.14284576 0.20408723 0.58271061
 [7] 0.05170994 0.83627336 0.76713317 0.95052671

> df$x = x
> df
            y           x
1  0.66658148 -0.95343778
2  0.15355851 -0.63098637
3  0.60098886 -1.30646529
4  0.14284576  1.38906143
5  0.20408723  0.51703237
6  0.58271061 -0.02246754
7  0.05170994  0.20583548
8  0.83627336  0.21530721
9  0.76713317  0.69087460
10 0.95052671  2.30610998

> df[-1,]
            y           x
2  0.15355851 -0.63098637
3  0.60098886 -1.30646529
4  0.14284576  1.38906143
5  0.20408723  0.51703237
6  0.58271061 -0.02246754
7  0.05170994  0.20583548
8  0.83627336  0.21530721
9  0.76713317  0.69087460
10 0.95052671  2.30610998

> df$x = NULL
> df 
            y
1  0.66658148
2  0.15355851
3  0.60098886
4  0.14284576
5  0.20408723
6  0.58271061
7  0.05170994
8  0.83627336
9  0.76713317
10 0.95052671