DFの行をループさせようとしています。私はいくつかの行にいくつかの変更を行い、新しい行を含む新しいデータフレームを作成する行をループしながら。私はうまく行印刷の下機能を使用して、変更された場合データフレームの行をループし、新しい行からデータフレームを作成します。
df <- structure(
list(
campaign_name = c(
"Category> fanshop",
"Category> trainingspakken",
"Category> trainingsshirts",
"Category> hoodies",
"Category> broeken",
"Category> voetbalshirts"
),
ad_group = c(
"Pro team X[B]",
"Pro team X[B]",
"Pro team X[B]",
"Pro team X[B]",
"Pro team X[B]",
"Pro team X[B]"
),
category = c(
"fanshop",
"trainingspakken",
"trainingsshirts",
"hoodies",
"broeken",
"voetbalshirts"
),
Final_URL = c(
"https://fanshop/Pro-team-X.html",
"https://fanshop/Pro-team-X/_Trainingspakken",
"https://fanshop/Pro-team-X/_Trainingsshirts",
"https://fanshop/Pro-team-X/_Hoodies_Sweaters",
"https://fanshop/Pro-team-X/_Korte-broeken_Lange-broeken",
"https://fanshop/Pro-team-X/_Voetbalshirts"
),
team_name = c(
"Pro team X",
"Pro team X",
"Pro team X",
"Pro team X",
"Pro team X",
"Pro team X"
),
keyword = c(
"+Pro +team +X +fanshop",
"+Pro +team +X +trainingspakken",
"+Pro +team +X +trainingsshirts",
"+Pro +team +X +hoodies",
"+Pro +team +X +broeken",
"+Pro +team +X +voetbalshirts"
),
Criterion_type = c("Broad", "Broad", "Broad", "Broad", "Broad", "Broad")
),
.Names = c(
"campaign_name",
"ad_group",
"category",
"Final_URL",
"team_name",
"keyword",
"Criterion_type"
),
row.names = c("1", "2", "3", "4", "5", "6"),
class = "data.frame"
)
:
私が使用するデータフレームはこれを使用して作成することができますように見えます。しかし、データフレームに割り当てるとすぐに、ループが実行されるたびに上書きされます。
for (row in 1:nrow(df)) {
temp_row <- df[row,]
if (temp_row$Criterion_type == "Broad") {
temp_row$keyword <- gsub("\\+", "", temp_row$keyword)
temp_row$Criterion_type <- "Negative Exact"
}
print(temp_row)
}
ここに多くの質問を検討していた後、私はまだそれが適切に行わ取得するために管理していなかったアプローチの多くを試してみてください。とても有難い!
上記のIF文に従って各行が変更されることを期待しています。 1行目は次のようになります。私はすでに試した質問の
campaign_name ad_group category Final_URL team_name keyword Criterion_type
Category> voetbalshirts Pro team X[B] voetbalshirts https://fanshop/Pro-team-X/_Voetbalshirts Pro team X paris saint germain voetbalshirts Negative Exact
一部:これはあなたに与え
library(dplyr)
new_df <- data.frame()
for (row in 1:nrow(df)) {
temp_row <- df[row,]
if (temp_row$Criterion_type == "Broad") {
new_df <- bind_rows(new_df, data.frame(keyword=gsub("\\+", "", temp_row$keyword), Criterion_type = "Negative Exact"))
}
}
:
How to append rows to an R data frame
duplicate rows and create new data frame in R
@coffeinjunkyありがとう、申し訳ありません。通常私は常に受け入れます。どういうわけか私は今忘れてしまった。 –