[英]Dynamically Create Columns in R
我有一個我希望能夠動態創建列(包括其名稱)的數據集。
一個簡化的數據集示例是:
dataset <- data.frame(data = c(0,1,2,3),
signups = c(100, 150, 200, 210),
leads = c(10, 12, 15, 18),
opportunities = c(2, 4, 5, 3),
closed = c(1,4,2,1))
我想要數據集的以下其他字段,其定義如下:
lead_percentage <- dataset$leads / dataset$signups
opportunity_percentage <- dataset$opportunities / dataset$signups
closed_percentage <- dataset$closed / dataset$signups
我有很多專欄文章針對這種情況而發生,並且無法弄清楚如何進行遍歷。
到目前為止,我知道我可以使用以下代碼創建列名稱的列表:
colnames_list <- 0
c <- 1
for(c in c(4:ncol(dataset)-1)) {
colnames_list[c] = paste(colnames(dataset)[c], "percentage")
}
我也知道如何動態定義新列的值,但是似乎無法弄清楚如何從列表到數據框獲取新列的名稱。
這可能是您需要的
l <- lapply(dataset[,3:5], "/", dataset$signups)
names(l) <- paste(names(dataset[,3:5]), "percentage", sep = "_")
dataset <- cbind(dataset,l)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.