gpt4 book ai didi

R:填写多列

转载 作者:行者123 更新时间:2023-12-04 11:41:06 27 4
gpt4 key购买 nike

我正在使用tidyr包中的fill()。 fill(df,colname1,colname2,colname3)可以正常工作,直到找到包含32个变量的数据集。我应该如何在不键入每个名称的情况下填写所有列?

我试过了:

fill(df,colnames(df)),
fill(df,1:32),
fill(df,colname1:colname32).

并产生以下错误:
Error: All select() inputs must resolve to integer column positions.
The following do not:
* colnames(df1)

Error: tinyformat: Not enough conversion specifiers in format string

Error: tinyformat: Not enough conversion specifiers in format string

最佳答案

当我们选择带有fill_的变量时,我们可以使用names

library(tidyr)# using tidyr_0.4.1.9000
res <- fill_(df, names(df))
head(res)
# col1 col2 col3
#1 1 NA b
#2 1 3 b
#3 2 4 a
#4 2 4 a
#5 2 1 a
#6 3 4 a

其他选择是
fill(df, everything())

但是,如果我们将 fillnames(df))结合使用,则会产生与OP所示相同的错误
fill(df, names(df)[1])
#Error: All select() inputs must resolve to integer column positions.
#The following do not:
#* names(df)[1]

数据
set.seed(24)
df <- data.frame(col1= sample(c(NA, 1:3), 20, replace=TRUE),
col2 = sample(c(NA, 1:5), 20, replace=TRUE),
col3 = sample(c(NA, letters[1:5]), 20, replace=TRUE),
stringsAsFactors=FALSE)

关于R:填写多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37648980/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com