web-dev-qa-db-ja.com

Rのデータセットにヘッダーを追加する方法は?

次のデータフォルダーにある '' wdbc.data 'を読む必要があります。 http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/

Rでこれを行うには、コマンドread.csvを使用すると簡単ですが、ヘッダーが欠落しているため、どのように追加できますか?情報はありますが、これを行う方法がわからないため、データファイルを編集しないでください。

20
blueSurfer

次のことができます。

データをロードします。

test <- read.csv(
          "http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data",
          header=FALSE)

read.csvheader引数のデフォルト値はTRUEであるため、すべての行を取得するには、FALSEに設定する必要があります。

Data.frameのさまざまな列に名前を追加します

names(test) <- c("A","B","C","D","E","F","G","H","I","J","K")

または、私が理解しているように、代替および高速(データセット全体をリロードしない):

colnames(test) <- c("A","B","C","D","E","F","G","H","I","J","K")
33
Jochem

data.frameまたはcolnamesがある場合は、名前の代わりにmatrixを使用することもできます

3
user1436187

.txtファイルからいくつかのデータを読み取り、カスタマイズされたヘッダーを持つ新しい.txtファイルにそのファイルのいくつかの列のみを抽出することに興味がある場合 、次のコードが役立つ場合があります。

# input some data from 2 different .txt files:
civit_gps <- read.csv(file="/path2/gpsFile.csv",head=TRUE,sep=",")
civit_cam <- read.csv(file="/path2/cameraFile.txt",head=TRUE,sep=",")

# assign the name for the output file:
seqName <- "seq1_data.txt"

#=========================================================
# Extract data from imported files
#=========================================================
# From Camera:
frame_idx <- civit_cam$X.frame
qx        <- civit_cam$q.x.rad.
qy        <- civit_cam$q.y.rad.
qz        <- civit_cam$q.z.rad.
qw        <- civit_cam$q.w

# From GPS:
gpsT      <- civit_gps$X.gpsTime.sec.
latitude  <- civit_gps$Latitude.deg.
longitude <- civit_gps$Longitude.deg.
altitude  <- civit_gps$H.Ell.m.
heading   <- civit_gps$Heading.deg.
pitch     <- civit_gps$pitch.deg.
roll      <- civit_gps$roll.deg.
gpsTime_corr <- civit_gps[frame_idx,1]

#=========================================================
# Export new data into the output txt file
#=========================================================
myData <- data.frame(c(gpsTime_corr),
                     c(frame_idx),
                     c(qx),
                     c(qy),
                     c(qz),
                     c(qw))
# Write :
cat("#GPSTime,frameIdx,qx,qy,qz,qw\n", file=seqName)
write.table(myData, file = seqName,row.names=FALSE,col.names=FALSE,append=TRUE,sep = ",")

もちろん、独自のアプリケーションに基づいてこのサンプルスクリプトを変更する必要があります。

0
Färid Alijani