0
我使用interaction()函數來創建新變量並將「Study」編號(例如1,2,3)和「Subject」編號(例如1:20 )。當我寫我的數據幀爲CSV閱讀它在另一個腳本以下列方式這個變量的變化: 1.10轉換至1.1或1.1轉換到1.10和 2.10轉換到2.1或2.1的換算結果爲2.10R交互()在寫入和讀取csv文件後截斷
它還發生在我寫的這個簡單的代碼:
x <- c(1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2)
y <- 1:15
xy <- as.data.frame(cbind(x,y))
xy$xy <- interaction(x,y)
xy
write.csv(xy, "xy.csv")
xy2 <- read.csv("xy.csv")
xy2
有沒有一種方法可以輕鬆地解決它?
謝謝!
您也可以考慮 'xy_df < - as.data.frame(cbind(X,Y)); tidyr :: unite(xy_df,xy,x,y,remove = FALSE)'。 'tidyr :: unite'會產生一個字符,而'interaction'會默認創建一個因子。 – Peter
@Peter當使用'write.csv'時,無論是字符還是因素都無關緊要。他們都寫了相同的。問題是,當你使用read.csv讀取數據時,R會根據觀測值嘗試猜測數據類型。 – MrFlick
好點。我想我以前的評論應該是'tidyr :: unite'的默認分隔符是「_」,而'interaction'的默認值是「。」。 – Peter