2013-04-27 17 views
8

を新しい行を追加します。はHERESにデータフレーム内の特定の場所に私のデータ

> data 
    Manufacturers  Models 
1 Audi    RS5 
2 BMW     M3 
3 Cadillac   CTS-V 
4 Lexus    ISF 

を、私はこのように、4行目に1行を追加したいと思います:

> data 
    Manufacturers  Models 
1 Audi    RS5 
2 BMW     M3 
3 Cadillac   CTS-V 
4 Benz    C63 
5 Lexus    ISF 

私が試してみました次のようにrbind()を使用してください:

Benz = data.frame(Manufacturers = "Benz", Models = "C63") 
newdata = rbind(data,Benz) 

しかし、私が望む場所に追加することはできません。 私はこの質問の助けを感謝します。どうもありがとう。

+0

が重複する可能性に頼るかもしれない:挿入data.frame]内の行としてのベクトル](0120-18753-03) – Roland

答えて

2

オーダーがデータセットの重要な機能である場合は、インデックス変数などを使用して、オーダーを安全な方法でコーディングする必要があります。私はrownamesやdata.frame行の順序には依存しません。保存されていない操作があるからです。

data <- read.table(text="Manufacturers  Models 
1 Audi    RS5 
2 BMW     M3 
3 Cadillac   CTS-V 
4 Lexus    ISF",header=TRUE) 

data$ind <- seq_len(nrow(data)) 
data <- rbind(data,data.frame(Manufacturers = "Benz", Models = "C63",ind=3.1)) 
data <- data[order(data$ind),] 

# Manufacturers Models ind 
# 1   Audi RS5 1.0 
# 2   BMW  M3 2.0 
# 3  Cadillac CTS-V 3.0 
# 5   Benz C63 3.1 
# 4   Lexus ISF 4.0 
+2

行の名前、しかし、あなたのものに非常に似ている行名のアプローチは、 'rbind(data、" 3.1.data.frame(Manufacturers = "Benz"、Models = "C63")) '(あなたの" ind "もちろん、並べ替えはまだ必要ですが、1つのステップが保存されています:) – A5C1D2H2I1M1N2O1R2T1

4

あなたには、いくつかのスプレッドシートのような外観のためのインデックスではなく、一回限りの「クイックフィックス」をしたくない場合は、[Rの

newData <- rbind(data[1:3,], Benz, data[ 4,]) 
関連する問題