[英]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.