我的数据框是这样的:
view(df)
Case Temp Wind Comment Play
1 Train 30 false Test yes
2 Test 40 false Recommended no
3 Test 25 true Sample no
我想根据“案例”列中的字符串将此数据帧分为两个测试和训练数据帧。
我尝试过
train <- split(df, df$Case)['Train']
test <- split(df, df$Case)['Test']
但是,它没有用。这是怎么回事?
使用列表的正确方法是使用double,[]
如下所示:
#Code
train <- split(df,df$Case)[['Train']]
test <- split(df,df$Case)[['Test']]
或更实用的方式:
#Code2
list2env(split(df,tolower(df$Case)),envir = .GlobalEnv)
两种情况下的输出均为:
train
Case Temp Wind Comment Play
1 Train 30 false Test yes
test
Case Temp Wind Comment Play
2 Test 40 false Recommended no
3 Test 25 true Sample no
使用了一些数据:
#Data
df <- structure(list(Case = c("Train", "Test", "Test"), Temp = c(30L,
40L, 25L), Wind = c("false", "false", "true"), Comment = c("Test",
"Recommended", "Sample"), Play = c("yes", "no", "no")), class = "data.frame", row.names = c("1",
"2", "3"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句