为了账号安全,请及时绑定邮箱和手机立即绑定

按名称删除数据帧列

按名称删除数据帧列

倚天杖 2019-06-16 15:39:59
按名称删除数据帧列如何使用node.js中的数据发出出站HTTP POST请求?
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您可以使用一个简单的名称列表:

DF <- data.frame(
  x=1:10,
  y=10:1,
  z=rep(5,10),
  a=11:20)drops <- c("x","z")DF[ , !(names(DF) %in% drops)]

或者,您也可以列出要保存的人的列表,并按姓名引用:

keeps <- c("y", "a")DF[keeps]

编辑:对于那些仍然不熟悉drop参数,如果希望将一列保留为数据框架,则需要:

keeps <- "y"DF[ , keeps, drop = FALSE]

drop=TRUE(或者不提)将删除不必要的维度,从而返回带有列值的向量。y.


查看完整回答
反对 回复 2019-06-16
?
LEATH

TA贡献1936条经验 获得超6个赞

还有subset命令,如果您知道需要哪些列,则此命令非常有用:

df <- data.frame(a = 1:10, b = 2:11, c = 3:12)df <- subset(df, select = c(a, c))

在@Hadley评论后更新:to滴下列a,c您可以这样做:

df <- subset(df, select = -c(a, c))


查看完整回答
反对 回复 2019-06-16
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

within(df, rm(x))

可能是最简单的,或者对于多个变量:

within(df, rm(x, y))

或者如果你在处理data.tableS(每如何在data.table中按名称删除列?):

dt[, x := NULL]   # Deletes column x by reference instantly.dt[, !"x"]   # Selects all but x into a new data.table.

或用于多变量

dt[, c("x","y") := NULL]dt[, !c("x", "y")]


查看完整回答
反对 回复 2019-06-16
  • 3 回答
  • 0 关注
  • 676 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信