R 根据条件从另一列向列赋值

R 根据条件从另一列向列赋值,r,R,假设我有这样一个列表: > desired <- c("10001", "10004") > desired_sample_df <- data.frame(geo = rep("other", 30), zip = c(rep(10001:10010, 2), 10011:10020), cbsa = c(rep("NY", 20), rep("CA", 10))) > desired_sample_df geo zip cbsa 1 other

假设我有这样一个列表:

> desired <- c("10001", "10004")
> desired_sample_df <- data.frame(geo = rep("other", 30), zip = c(rep(10001:10010, 2), 10011:10020), cbsa = c(rep("NY", 20), rep("CA", 10)))
> desired_sample_df
     geo   zip cbsa
1  other 10001   NY
2  other 10002   NY
3  other 10003   NY
4  other 10004   NY
5  other 10005   NY
6  other 10006   NY
7  other 10007   NY
8  other 10008   NY
9  other 10009   NY
10 other 10010   NY
11 other 10001   NY
12 other 10002   NY
13 other 10003   NY
14 other 10004   NY
15 other 10005   NY
16 other 10006   NY
17 other 10007   NY
18 other 10008   NY
19 other 10009   NY
20 other 10010   NY
21 other 10011   CA
22 other 10012   CA
23 other 10013   CA
24 other 10014   CA
25 other 10015   CA
26 other 10016   CA
27 other 10017   CA
28 other 10018   CA
29 other 10019   CA
30 other 10020   CA

问题之一是数据帧中的字符串会自动成为因素。试试这个:

desired <- c("10001", "10004")
df <- data.frame(geo = rep("other", 30), zip = c(rep(10001:10010, 2), 10011:10020), cbsa = c(rep("NY", 20), rep("CA", 10)), stringsAsFactors=FALSE)

idx <- df$zip %in% desired

desired问题之一是数据帧中的字符串自动成为因素。试试这个:

desired <- c("10001", "10004")
df <- data.frame(geo = rep("other", 30), zip = c(rep(10001:10010, 2), 10011:10020), cbsa = c(rep("NY", 20), rep("CA", 10)), stringsAsFactors=FALSE)

idx <- df$zip %in% desired

desired问题之一是数据帧中的字符串自动成为因素。试试这个:

desired <- c("10001", "10004")
df <- data.frame(geo = rep("other", 30), zip = c(rep(10001:10010, 2), 10011:10020), cbsa = c(rep("NY", 20), rep("CA", 10)), stringsAsFactors=FALSE)

idx <- df$zip %in% desired

desired问题之一是数据帧中的字符串自动成为因素。试试这个:

desired <- c("10001", "10004")
df <- data.frame(geo = rep("other", 30), zip = c(rep(10001:10010, 2), 10011:10020), cbsa = c(rep("NY", 20), rep("CA", 10)), stringsAsFactors=FALSE)

idx <- df$zip %in% desired
希望像这样

df$geo <- ifelse(df$zip %in% desired,df$zip,df$geo)
df$geo像这样

df$geo <- ifelse(df$zip %in% desired,df$zip,df$geo)
df$geo像这样

df$geo <- ifelse(df$zip %in% desired,df$zip,df$geo)
df$geo像这样

df$geo <- ifelse(df$zip %in% desired,df$zip,df$geo)

df$geo我添加了
stringsAsFactors=FALSE
部分,因为它给了您错误。啊,这是有道理的。不确定是什么导致了错误。不知道如何给答案排序,但为了简洁起见,我把它交给了@jhoward……你只能接受一个答案,不幸的是没有银牌;-)我添加了
stringsAsFactors=FALSE
部分,因为它会给您带来错误。啊,这是有道理的。不确定是什么导致了错误。不知道如何给答案排序,但为了简洁起见,我把它交给了@jhoward……你只能接受一个答案,不幸的是没有银牌;-)我添加了
stringsAsFactors=FALSE
部分,因为它会给您带来错误。啊,这是有道理的。不确定是什么导致了错误。不知道如何给答案排序,但为了简洁起见,我把它交给了@jhoward……你只能接受一个答案,不幸的是没有银牌;-)我添加了
stringsAsFactors=FALSE
部分,因为它会给您带来错误。啊,这是有道理的。不确定是什么导致了错误。不知道如何给答案排序,但为了简洁起见,我把它交给了@jhoward……你只能接受一个答案,不幸的是没有银牌;-)