Я бы предложил использовать System.Runtime.Serialization.Json
, который является частью .NET 4.5.
[DataContract]
public class Foo
{
[DataMember(Name = "data")]
public Dictionary<string,string> Data { get; set; }
}
Затем используйте его следующим образом:
var serializer = new DataContractJsonSerializer(typeof(List<Foo>));
var jsonParams = @"{""data"": [{""Key"":""foo"",""Value"":""bar""}] }";
var stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonParams));
var obj = serializer.ReadObject(stream);
Console.WriteLine(obj);
Как вы можете видеть из ?caret::train
, здесь не аргумент formula
, а форма. Также вам нужно переформулировать его и отфильтровать NAs
:
caret::train(
form= spam ~ .,
data = (dplyr::select(spamTrain, -rgroup) %>% filter(!is.na(word.freq.cs))),
method = "rpart"
)
Best!