这是样本数据
df= data.frame(C = c(0, 2, 4, 7, 8), A = c(4, 2, 4, 7, 8), B = c(1, 3, 8, 3, 2),
Region = c("US","UK","NZ","OZ","SA")),Status = c("Yes","No","Yes","No","Yes")
# C A B Region Status
# 1 0 4 1 US Yes
# 2 2 2 3 UK No
# 3 4 4 8 NZ Yes
# 4 7 7 3 OZ No
# 5 8 8 2 SA Yes
我正在尝试的是只选择Region和Status列并保持空白。
selectvar <- c("Region","Status")
lapply(df[which(!names(df) %in% selectvar )],0)
我想把它作为我的最终输出:
# Region Status C A B
# US Yes
# UK No
# NZ Yes
# OZ No
# SA Yes
答案 0 :(得分:1)
您根本不需要lapply
df[!names(df) %in% c("Region", "Status")] <- ""
完成这项工作。
答案 1 :(得分:1)
使用replace
的简洁解决方案:
replace(df, 1:3, "")
<强>输出:强>
C A B Region Status
1 US Yes
2 UK No
3 NZ Yes
4 OZ No
5 SA Yes