[英]How to replicate a column within a data frame?
我正在嘗試將數據框的一列復制到相同或新的數據框中。 我的數據框df
只包含一列:
col
1
2
3
4
5
我希望得到這樣的東西(另一個/相同的數據框,而不是矩陣):
col1 col2 col3 col4 col5
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
我嘗試使用new_df <- rep(df[,c(1)],5)
創建一個新的數據框,我不明白為什么它不起作用。
只需分配列
df[paste0('col', 2:5)] <- df$col
-輸出
> df
col col2 col3 col4 col5
1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3 3
4 4 4 4 4 4
5 5 5 5 5 5
或者,如果我們使用rep
,輸入可以是list
或data.frame
而不是向量,即df[,1]
將 data.frame 列強制轉換為vector
,默認情況下drop = TRUE
in data.frame
。 相反(如果只有列,或者rep(df, 5)
),或者如果有多個列子集作為df[1]
(- 返回一個包含一列的數據框)作為rep
中的輸入。 output 將是一個向量list
,我們通過用 data.frame 包裝將其轉換為data.frame
data.frame(rep(df[1],5))
或者也可以使用replicate
as.data.frame(replicate(5, df$col))
df <- structure(list(col = 1:5), class = "data.frame", row.names = c(NA,
-5L))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.