Чтобы скомпилировать примеры CUDA 8.0 на Ubuntu 16.10, я сделал:
sudo apt-get install gcc-5 g++-5
cd /path/to/NVIDIA_CUDA-8.0_Samples
# Find the path to the library (this should be in NVIDIA's Makefiles)
LIBLOC=`find /usr/lib -name "libnvcuvid.so.*" | head -n1 | perl -pe 's[/usr/lib/(nvidia-\d+)/.*][$1]'`
# Substitute that path into the makefiles for the hard-coded, incorrect one
find . -name "*.mk" | xargs perl -pi -e "s/nvidia-\d+/$LIBLOC/g"
# Make using the supported compiler
HOST_COMPILER=g++-5 make
Это имеет то преимущество, что не изменяйте всю систему или не создавайте символические ссылки только для двоичных файлов (что может вызвать проблемы с связыванием библиотек .)
Вы можете посмотреть на близкий вопрос о stackoverflow .
Я бы применил это в два этапа: импортировать все данные (с помощью plyr
), затем объединить его:
filenames <- list.files(path=".../tempDataFolder/", full.names=TRUE)
library(plyr)
import.list <- llply(filenames, read.csv)
Это даст вам список всех файлов, которые вам теперь нужно объединить вместе. Есть много способов сделать это, но вот один из подходов (с Reduce
):
data <- Reduce(function(x, y) merge(x, y, all=T,
by=c("COUNTRYNAME", "COUNTRYCODE", "Year")), import.list, accumulate=F)
В качестве альтернативы вы можете сделать это с пакетом reshape
, если вам неудобно Reduce
:
library(reshape)
data <- merge_recurse(import.list)
Если я не ошибаюсь, довольно простое изменение может устранить 3:length(FileNames)
kludge:
FileNames <- list.files(path=".../tempDataFolder/", full.names=TRUE)
dataMerge <- data.frame()
for(f in FileNames){
ReadInMerge <- read.csv(file=f, header=T, na.strings="NULL")
dataMerge <- merge(dataMerge, ReadInMerge,
by=c("COUNTRYNAME", "COUNTRYCODE", "Year"), all=T)
}
dataMerge
является пустой data.frame
, функция merge()
не может найти общий идентификатор в первом цикле for
. если я присвою, например, первый файл dataMerge
, он возвращает меня к моей первоначальной идее.
– mropa
5 February 2010 в 20:53
.id
, содержащим имена файлов, вызываяldply
вместоllply
. Затем вызовReduce
илиmerge
отменяется. – CharlesB 9 December 2014 в 10:05