我已經想通了,如果我使用as.character(df[x,y])
或as.<whatever>df[x,y]
我能得到/強迫我需要什麼,從我的數據每天的時間框架訪問R數據框中的單個元素有時會返回一個List?
我似乎無法找到/弄清楚就是爲什麼。下面的細節。
當我訪問df[1,1]
(或任何在第1列),我得到
df[1,1]
[1] a
Levels: a b c
但是當我訪問1,3-它工作正常
> df[1,3]
[1] 10
但後來當我使用as.character()
有用。
> as.character(df[1,1])
[1] "a"
數據幀是用這條線
df = data.frame(names = c("a","b","c"), size = c(1,2,3),num = c(10,20,30))
> df
names size num
1 a 1 10
2 b 2 20
3 c 3 30
但在這個數據幀
imp2met = read.csv('tomet.csv', header = TRUE, sep=",",dec='.')
> imp2met
unit mult ret
1 (yd) 0.9100 (m)
2 (in) 2.5200 (cm)
3 .....
我得到這些結果1,3
> imp2met[1,3]
[1] (m)
Levels: (c) (cm) (cm^2) ....
>
> as.character(imp2met[1,3])
[1] "(m)"
建
那麼爲什麼「隨機」結果呢?爲什麼我需要as.<whatever>()
,但只有部分時間?
您使用'as。當你在不同類型之間進行轉換時,你需要使用''。在你的情況下,你正在將因素轉換爲字符。看起來你對R中的因素數據類型知之甚少。 – Suren
是的,我所經歷的教程沒有提及因素。我看了他們,謝謝! –