从 R 中的同一行赋值
assign values from same row in R
我只想在A = 1 时将B 的行值分配给A 行。这是我目前所做的:
数据框:
df <- data.frame('A' = c(1,1,2,5,4,3,1,2), 'B' = c(100,200,200,200,100,200,100,200))
A B
1 1 100
2 1 200
3 2 200
4 5 200
5 4 100
6 3 200
7 1 100
8 2 200
输出:
df$A[df$A == 1] <- df$B
A B
1 100 100
2 200 200
3 2 200
4 5 200
5 4 100
6 3 200
7 200 100
8 2 200
如您所见,第 1 行和第 2 行执行了它们应该执行的操作。但是,第 7 行没有,而是从第 3 行获取值 - 它按顺序分配值。
我的问题:如何分配从同一行获取输入的值?
使用:
df$A[df$A == 1] <- df$B[df$A == 1]
您需要对要替换的列和包含替换项的列应用相同的索引。
我只想在A = 1 时将B 的行值分配给A 行。这是我目前所做的:
数据框:
df <- data.frame('A' = c(1,1,2,5,4,3,1,2), 'B' = c(100,200,200,200,100,200,100,200))
A B
1 1 100
2 1 200
3 2 200
4 5 200
5 4 100
6 3 200
7 1 100
8 2 200
输出:
df$A[df$A == 1] <- df$B
A B
1 100 100
2 200 200
3 2 200
4 5 200
5 4 100
6 3 200
7 200 100
8 2 200
如您所见,第 1 行和第 2 行执行了它们应该执行的操作。但是,第 7 行没有,而是从第 3 行获取值 - 它按顺序分配值。
我的问题:如何分配从同一行获取输入的值?
使用:
df$A[df$A == 1] <- df$B[df$A == 1]
您需要对要替换的列和包含替换项的列应用相同的索引。