創建數據框時創建基於另一列的列

毫米波

我知道有幾種方法可以根據另一列創建列,但是我想知道如何在創建數據框時執行此操作。

例如,這有效,但不是我想要使用它的方式。

v1 = rnorm(10)

sample_df <- data.frame(v1 = v1,
                        cs = cumsum(v1))

這不起作用:

sample_df2 <- data.frame(v2 = rnorm(10),
                         cs = cumsum(v2))

有沒有辦法直接在data.frame函數中實現?提前致謝。

邁克爾·賈根

它不能使用 來完成data.frame,但 packagetibble實現了data.frame具有您想要的功能模擬。

library("tibble")
tib <- tibble(x = 1:6, y = cumsum(x))
tib
# # A tibble: 6 × 2
#       x     y
#   <int> <int>
# 1     1     1
# 2     2     3
# 3     3     6
# 4     4    10
# 5     5    15
# 6     6    21

在大多數情況下,生成的對象(稱為“tibble”)可以被視為一個數據框,但如果您確實需要一個數據框,那麼您可以這樣做:

dat <- as.data.frame(tib)
dat
#   x  y
# 1 1  1
# 2 2  3
# 3 3  6
# 4 4 10
# 5 5 15
# 6 6 21

如果您願意,您可以將所有內容包裝在一個函數中:

f <- function(...) as.data.frame(tibble(...))
f(x = 1:6, y = cumsum(x))
#   x  y
# 1 1  1
# 2 2  3
# 3 3  6
# 4 4 10
# 5 5 15
# 6 6 21

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

創建一個基於 R 中數據框中另一列的列

檢查一個數據框中的值是否存在於另一個數據框中並創建列

基於唯一值和時間戳在 R 中創建新數據框

創建一個帶有列的數據框,該列將包含一列的唯一值和另一個數據框的唯一列名

R基於列數據創建箱線圖

創建多索引列數據框

無法使用數據框列創建索引

根據條件使用另一列中的值創建新列

基於一列從 CSV 文件創建多個字典

MYSQL根據另一列(這是外鍵)創建唯一ID

同時創建新數據框和新列

創建一個包含數千列的 Spark 數據框,然後添加一列包含所有列的 ArrayType

為 Pandas 列中的每個唯一值創建新的數據框

使用數據框的兩列創建一個 seaborn 直方圖

使用公式在 pd 數據框中創建一個新列

如何基於包含列名的列表創建數據框?

基於 R 中具有不同數據框輸入的多個條件創建列類型

使用父數據框的列中的特定字符串創建數據框

從現有數據框列創建新數據框

根據另一列中的條件,使用 .diff() 函數的結果在 pandas df 中創建一個新列

從字典創建 1 行數據框,包含三列並將變量附加到第一列

根據兩列的最大值在數據框中創建一個帶有列名的新列

VBA 基於唯一的列數據創建新的 WB - 需要在新的 WB 中重命名工作表

解碼列並使用新數據創建新數據框

關於從前一個數據框創建這個新數據框的問題

基於現有列創建新列

在 spark DataFrame 中創建兩列,一列用於累積值,另一列用於最大連續值

如何使用另一列的值從一列創建多列?

從字典創建數據框