r - R 中 data.frame() 中用于停止自动更改列名的参数
问题描述
我在 R 中有一个数据集,我试图将其子集到第二个数据框中。
我不确定它是否相关,但以防万一,数据大致如下:
V1 V2 V3 V4 V5 V6
ab 10 98 0.9 0.1 abc
cd 11 99 0.8 0.05 cde
所以我试图通过执行以下操作对其进行子集化:
df_new = data.frame(data$V2, data$V5, data$V6)
这实际上在过去有效,所以我没有想到在这里使用它,但由于某种原因,它的输出是:
data.V2 data.V5 data.V6
10 0.1 abc
11 0.05 cde
因此,由于某种原因,当我对它进行子集化时,该函数将原始数据框的名称添加到列名中。我检查了文档,看不到阻止这种情况的选项(我只想保留原始名称)。所以我不确定这里到底出了什么问题。
解决方案
当您尝试使用时,例如,data$V2
那是没有名字的东西:
data$V2
# [1] 10 11
因此,这种行为是意料之中的。最好的选择可能是
data[, c("V2", "V5", "V6")]
# V2 V5 V6
# 1 10 0.10 abc
# 2 11 0.05 cde
或者,如果你想坚持下去data.frame
,
with(data, data.frame(V2, V5, V6))
# V2 V5 V6
# 1 10 0.10 abc
# 2 11 0.05 cde
更长但有可能分配任何名称的东西是
data.frame(A = data$V2, B = data$V5, C = data$V6)
# A B C
# 1 10 0.10 abc
# 2 11 0.05 cde
或者
with(data, data.frame(A = V2, B = V5, C = V6))
推荐阅读
- ruby-on-rails - Apitome 侧边栏在包含在布局中时消失
- css - 为Angular Material Card的标题设置背景颜色
- java - 使用 Java 和 Active Directory 进行用户模拟
- javascript - 正确更改反应组件状态
- amazon-dynamodb - Dynamoose - 如何在同一个密钥上查询两个 GSI?
- java - 如何从列表中收集所有整数
>> 并将其放入 List 在 RxJava 中? - flutter - Flutter:ListView 项目之间的奇怪差距
- c# - 使用 Log4net 生成带有自定义布局/字段的 json 格式日志?
- .net - 使用正则表达式从使用 .Net 的 SQL 语句中提取特定的选择子句
- python - 如何手动构建 django `HttpRequest`