簡體   English   中英

R中的data.frame()中的參數用於停止自動更改列名

[英]Arguments in data.frame() in R for stopping automatic column name changing

我在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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM