我在R中有一个数据集如此组织:
x freq
1 PRODUCT10000 6
2 PRODUCT10001 20
3 PRODUCT10002 11
4 PRODUCT10003 4
5 PRODUCT10004 1
6 PRODUCT10005 2
然后,我有一个像
这样的功能fun <- function(number, df1, string, df2){NormC <- as.numeric(df1[string, "normc"])
df2$NormC <- rep(NormC)}
如何迭代我的df并将"x"
的每个值插入到函数中?
我认为问题是函数的这部分(有4个输入变量)的结构类似于NormC <- as.numeric(df[string, "normc"])
答案 0 :(得分:0)
正如@duckmayr所解释的那样,您不需要遍历列x
。以下是创建新变量的示例。
df <- read.table(text = " x freq
1 PRODUCT10000 6
2 PRODUCT10001 20
3 PRODUCT10002 11
4 PRODUCT10003 4
5 PRODUCT10004 1
6 PRODUCT10005 2", header = TRUE)
fun <- function(string){paste0(string, "X")} # example
# option 1
df$new.col1 <- fun(df$x) # see duckmayr's comment
# option 2
library(data.table)
setDT(df)[, new.col2 := fun(x)]