2017-08-18 20 views
-2

私はcsvファイルをロードしようとしており、日付、賃金、パーセンテージの変更を表示しています。残念ながら、データセットの1つは42行3列、もう1行は41行2列です。私のデータファイルは、だから私はこの二つが、私はそれらを結合しようとしたら、私は以下のような結果を得るチャンスがないRで2つのデータフレームを結合するには?

rbind.fill(data,datadiff) 
bind_rows(data,datadiff) 

、最初のデータフレームが http://imgur.com/a/pr8eZ

を終了第二データフレームの開始を試みた here

です

それでは一緒に見せてやってみる方法はありますか? 、OPのコメントで述べたように

location <- read.csv("C:/Users/melik/Desktop/sydney-melbourne-rent-master/Average_Wages.csv", stringsAsFactors=T,header=TRUE) 
x1 <- as.Date(location[,1],format = "%d/%m/%Y") 
data <- data.frame(x1, x2 <- location[,2],x3 <- location[,3]) 
colnames(data) <- c("Date","Sydney Wages","Melbourne Wages") 
x2diff <- diff(data[,2])/data[-nrow(data),2] * 100 
x3diff <- diff(data[,3])/data[-nrow(data),3] * 100 
colnames(datadiff) <- c("Sydney Difference","Melbourne Difference") 
datadiff <- data.frame(x2diff,x3diff) 
rbind.fill(data,datadiff) 
+2

私たちは私たちのセッションに/貼り付けをコピーすることができ、あなたのデータの小さな一例を示してください。このデータに基づいて所望の出力を提示する。画像の投稿は避けてください。 –

+0

あなたは 'merge()'を使うことができます..これを見てください.. http://www.statmethods.net/management/merging.html –

+1

行や列をバインドしようとしていますか? –

答えて

1

datadiffにNASとの行を追加し、CBINDは、最も効果的な方法であるか:ここに私のコードです。

dates = sample(seq(as.Date('2013/01/01'), as.Date('2016/01/01'), by="day"), 40) 
sydneyWages = runif(n = 40, min = 1300, max = 1600) 
melbourneWages = runif(n = 40, min = 1300, max = 1600) 

startData = data.frame(dates, sydneyWages, melbourneWages) 
x2diff <- diff(startData[,2])/startData[-nrow(startData),2] * 100 
x3diff <- diff(startData[,3])/startData[-nrow(startData),3] * 100 

datadiff = data.frame(x2diff, x3diff) 
datadiff = rbind(datadiff, NA) 

finalData = cbind(startData, datadiff) 

#alternatively you can add the date to datadiff and use a merge 
#this is only possible if every date is unique 
datadiff = cbind(dates, datadiff) 
finalData = merge(x = startData, y = datadiff, by = "dates", sort = F) 
0

ありがとうございます。皆さんありがとうございます。ここに私のコードの最新バージョンです:)

location <- read.csv("C:/Users/melik/Desktop/sydney-melbourne-rent-master/Average_Wages.csv", stringsAsFactors=T,header=TRUE) 
x1 <- as.Date(location[,1],format = "%d/%m/%Y") 
data <- data.frame(x1, x2 <- location[,2],x3 <- location[,3]) 
colnames(data) <- c("Date","Sydney Wages","Melbourne Wages") 
x2diff <- diff(data[,2])/data[-nrow(data),2] * 100 
x3diff <- diff(data[,3])/data[-nrow(data),3] * 100 
datadiff <- data.frame(x2diff,x3diff) 
colnames(datadiff) <- c("Sydney Difference","Melbourne Difference") 
#diff(data[,2])/data[-nrow(data),2] * 100 
datadiff = rbind(datadiff, NA) 
finalData = cbind(data, datadiff) 
finalData 

My code

関連する問題