【问题标题】:How do I join a Y variable to each X variable in a dataframe?如何将 Y 变量连接到数据框中的每个 X 变量?
【发布时间】:2019-09-29 03:35:51
【问题描述】:

我有一个包含 200 个 X 变量和 1 个 Y 变量的数据框。 我想分离每个 X 变量并用一个 Y 变量连接每个变量。 例如,

X1=rnorm(10, mean=5, as=2)
X2=rnorm(10, mean=5, as=2)
X2=rnorm(10, mean=5, as=2)
yvar=runif(10, 6,9)

X变量在数据框rand_data

rand_data=cbind(X1,X2,X3)

我使用了这个代码:

for (i in length (p)){ #p is the number of X variables
    s=matrix (0, nrow=10, ncol=2)
    for( j in p[i])
    s= cbind(yvar, rand_data[ ,i]) #rand_data is the matrix containing #all the X variables and yvar is the y variable
    }
}

我得到一个包含 2 个变量的数据框,我想要的是一个包含两个变量的数据框列表。

【问题讨论】:

    标签: r list dataframe merge


    【解决方案1】:

    一种选择是

    nm1 <- setdiff(names(df1), "Y")
    lapply(nm1, function(x) cbind(df1["Y"], df1[x]))
    

    另一个是

    library(purrr)
    library(dplyr)
    map(nm1, ~
             df1 %>% 
                 select(Y, .x))
    

    【讨论】:

    • @BridgeSmith 你的标题说要将 Y 变量与每个 X 变量连接起来,代码正在这样做
    • 我明白了,我写错了
    猜你喜欢
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2018-08-14
    相关资源
    最近更新 更多