我無法在線找到此問題的解決方案,就像看起來那麼簡單。 這裏,它是:將數字視爲字符
#Construct test dataframe
tf <- data.frame(1:3,4:6,c("A","A","A"))
#Try the apply function I'm trying to use
test <- apply(tf,2,function(x) if(is.numeric(x)) mean(x) else unique(x)[1])
#Look at the output--all columns treated as character columns...
test
#Look at the format of the original data--the first two columns are integers.
str(tf)
總體而言,我想我apply
通過行/列基於什麼類型的行/列包含數據的什麼功能來區分。
在這裏,如果列是數字,我想要一個簡單的mean
,如果列是字符列,則需要第一個unique
值。正如你所看到的,apply
將所有列視爲我寫這個函數的方式。
這正是答案 - 謝謝!歡呼所有貢獻:) – Aaron
我忘了添加'stringsToFactors = FALSE',因爲列'c'的類默認爲'factor'。你可能想要設置'options(stringsAsFactors = FALSE)',否則,你會得到一個'factor'。被告知。 – aL3xa