Вы запускаете функцию names
в той же строке, где заканчивается c
. Просто измените форматирование вашего кода.
Обратите внимание, что более безопасно использовать <-
для присвоения объектов объекту. =
используется для передачи значений в аргументы функции.
sumstats <- function(y) {
sumst <- sapply(
y,
function(x) {
sumstat <- c(
mean(x, na.rm = TRUE),
median(x, na.rm = TRUE),
sd(x, na.rm = TRUE),
min(x, na.rm = TRUE),
max(x, na.rm = TRUE)
)
names(sumstat) <- c("Mean", "Median", "SD", "Min", "Max")
return(sumstat)
}
)
aperm(sumst)
}
XStream имеет средства, чтобы читать из и записать в файлы, видеть простые примеры (Writer.java и Reader.java) в этой статье.
Если можно сериализировать его в txt файл, просто открыть ObjectOutputStream и иметь его, используют собственную возможность сериализации Строки Вас.
String str = "serialize me";
String file = "file.txt";
try{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(str);
out.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
String newString = (String) in.readObject();
assert str.equals(newString);
System.out.println("Strings are equal");
}catch(IOException ex){
ex.printStackTrace();
}catch(ClassNotFoundException ex){
ex.printStackTrace();
}
Вы могли также просто открыть PrintStream и слить сифоном его тот путь, затем использовать BufferedReader и readLine (). Если Вы действительно хотите стать необычными (так как это - присвоение HW, в конце концов), Вы могли использовать для цикла и распечатать каждый символ индивидуально. Используя XML более сложно, чем необходимо сериализировать Строку, и пользование внешней библиотекой является просто излишеством.
При начале Java то не торопитесь для просмотра Apache проект палаты общин. Существует много основных расширений Java, который Вы будете много раз использовать.
Я предполагаю, что Вы просто хотите сохранить строку, таким образом, можно считать ее назад позже - в этом случае это должен не обязательно быть XML.
Для записи строки в файл см. org.apache.commons.io. FileUtils:
FileUtils.writeStringToFile(File file,String data)
Считать его назад:
FileUtils.readFileToString(File file)
Ссылки:
http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html
Удостоверьтесь, что Вы также смотрите на Ленга свободного городского населения для большого количества хорошего основного материала.
Если необходимо создать текстовый файл, содержащий XML, который представляет содержание объекта (и сделайте его двунаправленным), просто используйте JSON-lib:
class MyBean{
private String name = "json";
private int pojoId = 1;
private char[] options = new char[]{'a','f'};
private String func1 = "function(i){ return this.options[i]; }";
private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");
// getters & setters
...
}
JSONObject jsonObject = JSONObject.fromObject( new MyBean() );
String xmlText = XMLSerializer.write( jsonObject );
Оттуда просто записал Строку в Ваш файл. Намного более простой, чем все они API XML. Теперь, однако, если необходимо соответствовать DTD или XSD, это - плохой способ пойти, поскольку это - намного больше свободного формата и соответствует только структуре объекта.
http://json-lib.sourceforge.net/usage.html
Piko
Из http://www.xml.com/pub/a/2004/08/18/xstream.html:
import com.thoughtworks.xstream.XStream;
class Date {
int year;
int month;
int day;
}
public class Serialize {
public static void main(String[] args) {
XStream xstream = new XStream();
Date date = new Date();
date.year = 2004;
date.month = 8;
date.day = 15;
xstream.alias("date", Date.class);
String decl = "\n";
String xml = xstream.toXML(date);
System.out.print(decl + xml);
}
}
public class Deserialize {
public static void main(String[] args) {
XStream xstream = new XStream();
Date date = new Date();
xstream.alias("date", Date.class);
String xml = xstream.toXML(date);
System.out.print(xml);
Date newdate = (Date)xstream.fromXML(xml);
newdate.month = 12;
newdate.day = 2;
String newxml = xstream.toXML(newdate);
System.out.print("\n\n" + newxml);
}
}
Можно затем взять строку xml и записать это в файл.
Там какая-либо конкретная причина состоит в том, чтобы использовать XStream? Это было бы чрезвычайно легко сделать с чем-то как JDOM, если все, что Вы делаете, пытается сериализировать строку или два.
Т.е., что-то как: документ Документа = новый Документ ();
Element rootEl = new Element("root");
rootEl.setText("my string");
doc.appendChild(rootEl);
XMLOutputter outputter = new XMLOutputter();
outputter.output(doc);
Некоторые детали выше являются, вероятно, неправильными, но это - основной поток. Возможно, необходимо ли задать более конкретный вопрос так, чтобы мы могли понять точно, какой проблемой случается так, что Вы имеете?