2012-03-13 20 views
10

R içindeki bir Linux bilgisayarındaki yardım dosyasının Windows sürümüne erişmenin bir yolu var mı?R yardım dosyaları farklı işletim sistemlerinde

Linux makinemde uygun miktarda R kodu yazarım, ancak kodun ortak çalışanlar için Windows makinesinde çalışacağından emin olmalıyım.

O makinede üzerinde helpfile kontrol dek benim Linux makine üzerinde yardım dosyası okuma benim kod yazmak ve sonra Windows makinede çalışmıyor neden merak saat harcayarak birkaç kez yanmış oldum

ve Linux makinesindeki birinden farklı olduğunu anlayın.

Genellikle "NOT: Windows'ta, xxxx farklı davranır ..." ve Linux makinemdeki kodu yazarken bunu bilmemi isterdim!

Birçok yardım dosyaları (örneğin ?system için) sisteme özel olduğunu fark yok, ama bazen benim Linux bilgisayardaki Windows sürümünü okumak istiyorum. Bugün kendimi ?windows'u okumak istediğimi buldum, ancak Windows bilgisayarımı sadece yardım dosyasını okumak için açtım, çünkü bu fonksiyon Linux'ta mevcut değil ve bu yüzden yardım dosyası yok.

şerefe.

+0

Dirk en önerisine alternatif R Referans Index Windows sürümünün bir kopyasını tutmak olacaktır Linux makinenizde. Tüm temel R paketlerinin yardım dosyalarını içeren tek bir büyük pdf'dir ve $ R_HOME/doc/manual/refman.pdf'de saklanır. Ayrıca, bir Windows R yüklemesinin bir kısmının Linux kutunuza kopyalanmasını ve daha sonra da yardım dosyalarının aramasını Windows yüklemesine yönlendirmek için 'lib.loc' argümanını' help() 'kullanarak da inceleyebilirsiniz. dizin ağacı Bu onun değerinden daha fazla güçlük gibi görünüyor, ama size kalmış. –

cevap

5

Her zaman size açık conditionals verir kaynağında bakabilirsiniz - Bu man/system.Rd dan:

#ifdef windows 
    Only double quotes are allowed on Windows: see the examples. (Note: a 
    Windows path name cannot contain a double quote, so we do not need to 
    worry about escaping embedded quotes.) 

    [...] 

#endif 
#ifdef unix 
    Unix-alikes pass the command line to a shell (normally \file{/bin/sh}, 
    and POSIX requires that shell), so \code{command} can be anything the 
    shell regards as executable, including shell scripts, and it can 
    contain multiple commands separated by \code{;}. 

    [...] 

#endif 
+0

Teşekkürler - bu benim yapmak zorunda olduğum gibi görünüyor. Yine de utanç verici. –

İlgili konular