使用for循环的索引更新子集数据框中的值[duplicate]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我的用例涉及到我用一些条件过滤数据帧。一旦我得到子集数据帧,我想一次遍历一行子集并检查特定条件并更新该特定行中的值。

这是我的实现:

> sales_data[sales_data$month == 1 & sales_data$dept_name == 1,]
   emp_name month dept_name revenue    status n_points x_partition y_partition x y
1       Sam     1         1     100       Low        9           3           3 0 0
7   Kenneth     1         1     500 Very High        9           3           3 0 0
11 Jonathan     1         1     500       Low        9           3           3 0 0
12      Sam     1         1     100       Low        9           3           3 0 0
18  Kenneth     1         1     500 Very High        9           3           3 0 0
22 Jonathan     1         1     500       Low        9           3           3 0 0
23      Sam     1         1     100       Low        9           3           3 0 0
29  Kenneth     1         1     500 Very High        9           3           3 0 0
33 Jonathan     1         1     500       Low        9           3           3 0 0

现在,我的子集数据帧有9行。所以,一个for循环:

for(i in 1:nrow(sales_data[sales_data$month == 1 & sales_data$dept_name == 1, ] )) {
#Here I want to update the value of column named x with i
sales_data[sales_data$month == month_item & sales_data$dept_name == dept_item, ][i]$x <- x_vector_data[i] ##NOT CORRECT APPROACH
}
r dataframe
1个回答
1
投票

为什么循环,也许:

sales_data[sales_data$month == 1 & sales_data$dept_name == 1, "x"] <- x_vector_data
© www.soinside.com 2019 - 2024. All rights reserved.